交付dubbo微服务至kubernetes集群
主机名 | 角色 | ip |
---|---|---|
node7-11.host.com | k8s代理节点1,zk1 | 10.4.7.11 |
node7-12.host.com | k8s代理节点2,zk2 | 10.4.7.12 |
node7-21.host.com | k8s运算节点1,zk3 | 10.4.7.21 |
node7-22.host.com | k8s运算节点2,jenkins | 10.4.7.22 |
node7-200.host.com | k8s运维节点(docker仓库) | 10.4.7.200 |
准备工作
检查Jenkins
以容器方式部署Jenkins,参考文章 部署Jenkins
进入jenkins的docker容器里:
[root@node7-21 src]# kubectl exec -it jenkins-66dc5d6969-7hgx7 -n infra /bin/sh
# ssh -i /root/.ssh/id_rsa -T git@gitee.com
# docker ps -a
- 检查ssh连接git仓库,确认能拉到代码。
- 检查jenkins容器里的docker客户端可用
安装maven
[root@node7-200 src]# wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
[root@node7-200 src]# cd /data/nfs-volume/jenkins_home/
[root@node7-200 jenkins_home]# tar xfv /opt/src/apache-maven-3.6.1-bin.tar.gz
[root@node7-21 src]# kubectl exec -it jenkins-66dc5d6969-7hgx7 -n infra /bin/sh
#java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
[root@node7-200 jenkins_home]# mv apache-maven-3.6.1/ maven-3.6.1-8u232
[root@node7-200 maven-3.6.1-8u232]# ls
bin boot conf lib LICENSE NOTICE README.txt
[root@node7-200 maven-3.6.1-8u232]# cp conf/settings.xml conf/settings.xml.bak
[root@node7-200 maven-3.6.1-8u232]# vi conf/settings.xml
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
制作dubbo微服务的底包镜像
[root@node7-200 ~]# docker pull docker.io/stanleyws/jre8:8u112
[root@node7-200 ~]# docker tag fa3a085d6ef1 harbor.od.com/public/jre:8u112
[root@node7-200 ~]# docker push harbor.od.com/public/jre:8u112
[root@node7-200 ~]# cd /data/dockerfile/
[root@node7-200 dockerfile]# mkdir jre8 && cd jre8
[root@node7-200 jre8]# vi Dockerfile
FROM harbor.od.com/public/jre:8u112
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\
echo 'Asia/Shanghai' >/etc/timezone
ADD config.yml /opt/prom/config.yml
ADD jmx_javaagent-0.3.1.jar /opt/prom/
WORKDIR /opt/project_dir
ADD entrypoint.sh /entrypoint.sh
CMD ["/entrypoint.sh"]
[root@node7-200 jre8]# wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar -O jmx_javaagent-0.3.1.jar
[root@node7-200 jre8]# vi config.yml
---
rules:
- pattern: '.*'
[root@node7-200 jre8]# vi entrypoint.sh
#!/bin/sh
M_OPTS="-Duser.timezone=Asia/Shang