首先我们在Git新建一个Apollo分支,以下是操作方法
Git创建分支并上传代码(或者直接fork我),注意,下图配的是GitLab里面Web的,现在你要操作的是自己Git的service,因为service没截图,所以我用Web的替代
- 切换身份
将Apollo分支的文件全部拉来这个文件夹,选择替换重名文件# 上传项目的文件夹打开,然后cd到附近的新建的apollo文件夹,克隆项目并切换身份: $ git http://gitlab.od.com:10000/909336740/dubbo-demo-web.git $ cd dubbo-demo-web/ $ git branch apollo $ git checkout apollo
- 把apollo的代码全部拉过去覆盖,并上传代码
完成,当然你可以直接fork我的$ git add . $ git commit -m "apollo commit#1" $ git push -u origin apollo
继续主线
在Apollo portal里创建相应两个配置项
新增配置项,并提交
发布
我们已经配置好了,然后需要用Jenkins制作镜像
# 填入对应参数
app_name: dubbo-demo-service
image_name: app/dubbo-demo-service
git_repo: https://gitee.com/benjas/dubbo-demo-service.git
git_ver: apollo
add_tag: 200303_1615
target_dir: ./dubbo-server/target
base_image: base/jre8:8u112
注意,我这里用的是GitLab,因为网络问题,你用自己的公网Git即可
去#38的console里查看情况
报错问题:
该报错的原因是mirrors没有改对
# 200机器:
cd /data/nfs-volume/jenkins_home/maven-3.6.1-8u232/conf
conf]# vi settings.xml
修改完上面的内容后保存再去重新构建
继续主线
镜像制作完成
# 200机器,修改指定的镜像,并添加部分内容:
cd /data/k8s-yaml/dubbo-demo-service/
dubbo-demo-service]# vi dp.yaml
image: harbor.od.com/app/dubbo-demo-service:apollo_200303_1615
ports:
- containerPort: 20880
protocol: TCP
env:
- name: JAR_BALL
value: dubbo-server.jar
- name: C_OPTS
value: -Denv=dev -Dapollo.meta=http://config.od.com
imagePullPolicy: IfNotPresent
# 22机器,应用:
~]# kubectl apply -f http://k8s-yaml.od.com/dubbo-demo-service/dp.yaml
# out: deployment.extensions/dubbo-demo-service configured
去LOGS查看,可以看到连接了Apollo
PS:这里的pod名字你可能觉得不一样,因为我镜像弄错了,重新改了一遍
当你把service扩容成两个后
可以看到变成两个实例
在monitor里可以看到端口是20880(注意必须连接的是zk1,怎么修改上面有,先改cm,然后删掉pod让它自动重启)
我们去Apollo改一下端口,改成20881,并发布
重启两个service的pods(就是删掉让它们自动重启)
刷新dubbo-monitor,可以看到端口已经变成20881
还可以改成zk2
作业:改成zk2后,需要删掉对应的pod,然后让其也在zk2,然后还需要把monitor也改成zk2,方法在上面有。这个作业一定要做,不然下面会报错,具体是哪里报错我会提示
最后我改回来了20880端口,但是依然用的zk2