0
点赞
收藏
分享

微信扫一扫

【K8S运维知识汇总】第6天4:交付Apollo-adminservice至k8s集群


文章目录

  • ​​下载安装包​​
  • ​​制作adminservice镜像​​
  • ​​准备资源配置清单​​
  • ​​应用资源配置清单​​
  • ​​dashboard查看验证​​
  • ​​查看pod日志​​
  • ​​浏览器访问验证​​

下载安装包

下载官方release包: https://github.com/ctripcorp/apollo/releases/download/v1.3.0/apollo-adminservice-1.5.1-github.zip

制作adminservice镜像

1.创建相关目录
[root@k8s7-200.host.com /opt/src]# mkdir -p /data/dockerfile/apollo-adminservice
[root@k8s7-200.host.com /opt/src]# unzip -o apollo-adminservice-1.5.1-github.zip -d /data/dockerfile/apollo-adminservice

[root@k8s7-200.host.com /data/dockerfile/apollo-adminservice]# rm -rf apollo-adminservice-1.5.1-sources.jar
[root@k8s7-200.host.com /data/dockerfile/apollo-adminservice]# rm -f apollo-adminservice.conf

2.更新start.sh
[root@k8s7-200.host.com /data/dockerfile/apollo-adminservice/scripts]# cat startup.sh
#!/bin/bash
SERVICE_NAME=apollo-adminservice
## Adjust log dir if necessary
LOG_DIR=/opt/logs/apollo-adminservice
## Adjust server port if necessary
SERVER_PORT=8080
APOLLO_ADMIN_SERVICE_NAME=$(hostname -i)
# SERVER_URL="http://localhost:${SERVER_PORT}"
SERVER_URL="http://${APOLLO_ADMIN_SERVICE_NAME}:${SERVER_PORT}"

## Adjust memory settings if necessary
#export JAVA_OPTS="-Xms2560m -Xmx2560m -Xss256k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:NewSize=1536m -XX:MaxNewSize=1536m -XX:SurvivorRatio=8"

## Only uncomment the following when you are using server jvm
#export JAVA_OPTS="$JAVA_OPTS -server -XX:-ReduceInitialCardMarks"

########### The following is the same for configservice, adminservice, portal ###########
export JAVA_OPTS="$JAVA_OPTS
export JAVA_OPTS="$JAVA_OPTS -Dserver.port=$SERVER_PORT -Dlogging.file=$LOG_DIR/$SERVICE_NAME.log -XX:HeapDumpPath=$LOG_DIR/HeapDumpOnOutOfMemoryError/"

# Find Java
if [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
javaexe="$JAVA_HOME/bin/java"
elif type -p java > /dev/null 2>&1; then
javaexe=$(type -p java)
elif [[ -x "/usr/bin/java" ]]; then
javaexe="/usr/bin/java"
else
echo "Unable to find Java"
exit 1
fi

if [[ "$javaexe" ]]; then
version=$("$javaexe" -version 2>&1 | awk -F '"' '/version/ {print $2}')
version=$(echo "$version" | awk -F. '{printf("%03d%03d",$1,$2);}')
# now version is of format 009003 (9.3.x)
if [ $version -ge 011000 ]; then
JAVA_OPTS="$JAVA_OPTS -Xlog:gc*:$LOG_DIR/gc.log:time,level,tags -Xlog:safepoint -Xlog:gc+heap=trace"
elif [ $version -ge 010000 ]; then
JAVA_OPTS="$JAVA_OPTS -Xlog:gc*:$LOG_DIR/gc.log:time,level,tags -Xlog:safepoint -Xlog:gc+heap=trace"
elif [ $version -ge 009000 ]; then
JAVA_OPTS="$JAVA_OPTS -Xlog:gc*:$LOG_DIR/gc.log:time,level,tags -Xlog:safepoint -Xlog:gc+heap=trace"
else
JAVA_OPTS="$JAVA_OPTS
JAVA_OPTS="$JAVA_OPTS -Xloggc:$LOG_DIR/gc.log -XX:+PrintGCDetails"
JAVA_OPTS="$JAVA_OPTS
fi
fi

printf "$(date)

cd `dirname $0`/..
chmod 755 $SERVICE_NAME".jar"
./$SERVICE_NAME".jar" start

rc=$?;

if [[ $rc != 0 ]];
then
echo "$(date) Failed to start $SERVICE_NAME.jar, return code: $rc"
exit $rc;
fi

tail -f /dev/null


3.编写dockerfile
[root@k8s7-200.host.com /data/dockerfile/apollo-adminservice]# cat Dockerfile
FROM harbor.od.com/base/jre8:8u112

ENV VERSION 1.5.1

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\
echo "Asia/Shanghai" > /etc/timezone

ADD apollo-adminservice-${VERSION}.jar /apollo-adminservice/apollo-adminservice.jar
ADD config/ /apollo-adminservice/config
ADD scripts/ /apollo-adminservice/scripts

CMD ["/apollo-adminservice/scripts/startup.sh"]


4.构建:
[root@k8s7-200.host.com /data/dockerfile/apollo-adminservice]# docker build . -t harbor.od.com/infra/apollo-adminservice:v1.5.1
[root@k8s7-200.host.com /data/dockerfile/apollo-adminservice]# docker push harbor.od.com/infra/apollo-adminservice:v1.5.1

准备资源配置清单

mkdir apollo-adminservice

1.configmap.yaml
[root@k8s7-200.host.com /data/k8s-yaml/apollo-adminservice]# cat configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: apollo-adminservice-cm
namespace: infra
data:
application-github.properties: |
# DataSource
spring.datasource.url = jdbc:mysql://mysql.od.com:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = apolloconfig
spring.datasource.password = 123456
eureka.service.url = http://config.od.com/eureka
app.properties: |
appId=100003172

2.deployment.yaml
[root@k8s7-200.host.com /data/k8s-yaml/apollo-adminservice]# cat deployment.yaml

应用资源配置清单

[root@k8s7-22.host.com ~]# kubectl apply -f http://k8s-yaml.od.com/apollo-adminservice/configmap.yaml
configmap/apollo-adminservice-cm created
[root@k8s7-22.host.com ~]# kubectl apply -f http://k8s-yaml.od.com/apollo-adminservice/deployment.yaml

dashboard查看验证

【K8S运维知识汇总】第6天4:交付Apollo-adminservice至k8s集群_jar

查看pod日志

【K8S运维知识汇总】第6天4:交付Apollo-adminservice至k8s集群_jar_02

浏览器访问验证

【K8S运维知识汇总】第6天4:交付Apollo-adminservice至k8s集群_java_03


举报

相关推荐

0 条评论