우리는 여기 두보 소비자 두보 - 데모 서비스 소비자 있습니다 :
우리는 이전에 그냥 줄에 매개 변수를 작성, 젠킨스 좋은 라인에 구성했습니다.
gitee 개인 창고 두보 소비자를 사용하기 때문에, 여기 당신이 자신에게 실험을 할 수있는 고객 서비스를 찾을 수 있습니다, 공개 키를 추가해야합니다.
여기에서 우리는 개인 창고 사이에 우리의 항구에 업로드 된 젠킨스에 의해 미러 내장 내용은 다음과 같습니다
여기에 우리가 건설 두 번, 두 거울의 건설, 버전 업데이트 시뮬레이션 실험에 사용 머리의 생산을 11bb9cd.
자원 목록을 준비 :
1 dp.yaml 적색 부분은 실제 이미지 태그에 따라 수정
# MKDIR / 데이터 / K8S-YAML / dubbo- 소비자
# CD / 데이터 / K8S-YAML / 두보 소비자
# 바이올렛 dp.yaml
종류 : 배포 apiVersion : 확장 / v1beta1 메타 데이터 : 이름 : 두보 -demo- 소비자 네임 스페이스를 : 응용 프로그램을 라벨 : 이름 : 두보 -demo- 소비자 투기: 복제본 : 1 선택자: matchLabels : name: dubbo-demo-consumer template: metadata: labels: app: dubbo-demo-consumer name: dubbo-demo-consumer spec: containers: - name: dubbo-demo-consumer image: harbor.od.com/app/dubbo-demo-consumer:master_191201_1600 ports: - containerPort: 8080 protocol: TCP - containerPort: 20880 protocol: TCP env: - name: JAR_BALL value: dubbo-client.jar imagePullPolicy: IfNotPresent imagePullSecrets: - name: harbor restartPolicy: Always terminationGracePeriodSeconds: 30 securityContext: runAsUser: 0 schedulerName: default-scheduler strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 1 revisionHistoryLimit: 7 progressDeadlineSeconds: 600
2、svc.yaml
# vi svc.yaml
kind: Service apiVersion: v1 metadata: name: dubbo-demo-consumer namespace: app spec: ports: - protocol: TCP port: 8080 targetPort: 8080 selector: app: dubbo-demo-consumer
3、ingress.yaml
# vi ingress.yaml
kind: Ingress apiVersion: extensions/v1beta1 metadata: name: dubbo-demo-consumer namespace: app spec: rules: - host: demo.od.com http: paths: - path: / backend: serviceName: dubbo-demo-consumer servicePort: 8080
应用资源配置清单:
# kubectl apply -f http://k8s-yaml.od.com/dubbo-consumer/dp.yaml # kubectl apply -f http://k8s-yaml.od.com/dubbo-consumer/svc.yaml # kubectl apply -f http://k8s-yaml.od.com/dubbo-consumer/ingress.yaml
# kubectl get pod -n app
查看log,是否启动成功:
# kubectl logs dubbo-demo-consumer-f8d5f5f74-dgmqd -n app
检查dubbo-monitor是否已经注册成功:
添加个dns解析,来验证:
# vi /var/named/od.com.zone
# systemctl restart named
浏览器访问http://demo.od.com/hello?name=slim
接下来我们模拟升级发版,我们提前修改了代码,并提交到了git仓库,发版的前提是使用jenkins提前构建了镜像并且上传到了我们的私有harbor仓库中,具体的构建流程不在赘述,只需要将远程git仓库的版本修改后构建就行了。
修改dp.yaml资源配置清单,修改harbor镜像仓库中对应的tag版本:
# vi dp.yaml
应用修改后的资源配置清单,当然也可以在dashboard中进行在线修改:
# kubectl apply -f http://k8s-yaml.od.com/dubbo-consumer/dp.yaml
已经启动起来了,使用浏览器验证:http://demo.od.com/hello?name=slim
至此,我们一套完成的dubbo服务就已经交付到k8s集群当中了,并且也演示了如何发版。