실제는 Kubernetes - K8S 클러스터 (VI) 두보 배달 서비스 블루 오션 파이프 라인을 사용 두보 소비자 서비스를 구축

우리는 여기 두보 소비자 두보 - 데모 서비스 소비자 있습니다 :

우리는 이전에 그냥 줄에 매개 변수를 작성, 젠킨스 좋은 라인에 구성했습니다.

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集群当中了,并且也演示了如何发版。

 

추천

출처www.cnblogs.com/slim-liu/p/11984845.html