zoukankan      html  css  js  c++  java
  • 实战交付一套dubbo微服务到k8s集群(7)之交付dubbo服务的消费者集群到K8S

    构建dubbo-demo-consumer,可以使用和dubbo-demo-service的流水线来构建

    1.登录jenkins构建dubbo-demo-consumer

    image-20200614220905963

    2.填写构建dubbo-demo-consumer的信息

    image-20200614221314388

    构建完成了dubbo-demo-consumer(消费者)

    image-20200615162530568

    3.登录harbor仓库查看是否已经上传到app项目

    image-20200616143654170

    4.解析域名demo.od.com

    在DNS服务器(mfyxw10.mfyxw.com)上执行

    [root@mfyxw10 ~]# cat > /var/named/od.com.zone << EOF
    $ORIGIN od.com.
    $TTL 600   ; 10 minutes
    @       IN  SOA dns.od.com.   dnsadmin.od.com. (
                                 ;序号请加1,表示比之前版本要新
                                 2020031310 ; serial
                                 10800          ; refresh (3 hours)
                                 900              ; retry (15 minutes)
                                 604800         ; expire (1 week)
                                 86400          ; minimum (1 day)
                                  )
                          NS   dns.od.com.
    $TTL 60 ;  1 minute
    dns             A          192.168.80.10
    harbor          A          192.168.80.50   ;添加harbor记录
    k8s-yaml        A          192.168.80.50
    traefik         A          192.168.80.100
    dashboard       A          192.168.80.100
    zk1             A          192.168.80.10
    zk2             A          192.168.80.20
    zk3             A          192.168.80.30
    jenkins         A          192.168.80.100
    dubbo-monitor   A          192.168.80.100
    demo            A          192.168.80.100
    EOF
    

    重启DNS服务

    [root@mfyxw10 ~]# systemctl restart named
    

    测试是否能解析

    [root@mfyxw10 ~]# dig -t A demo.od.com @192.168.80.10 +short
    192.168.80.100
    

    5.准备dubbo-demo-consumer(消费者)的资源配置清单

    在运维主机(mfyxw50.mfyxw.com)上执行

    创建一个consumer目录用于存放资源配置清单文件

    [root@mfyxw50 ~]# mkdir -p /data/k8s-yaml/dubbo-demo-consumer
    

    deployment.yaml文件内容如下:

    [root@mfyxw50 ~]# cat > /data/k8s-yaml/dubbo-demo-consumer/deployment.yaml << EOF
    kind: Deployment
    apiVersion: extensions/v1beta1
    metadata:
      name: dubbo-demo-consumer
      namespace: app
      labels: 
        name: dubbo-demo-consumer
    spec:
      replicas: 1
      selector:
        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_20200614_2211
            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
    EOF
    

    service.yaml文件内容如下:

    [root@mfyxw50 ~]# cat > /data/k8s-yaml/dubbo-demo-consumer/service.yaml << EOF
    kind: Service
    apiVersion: v1
    metadata: 
      name: dubbo-demo-consumer
      namespace: app
    spec:
      ports:
      - protocol: TCP
        port: 8080
        targetPort: 8080
      selector: 
        app: dubbo-demo-consumer
      clusterIP: None
      type: ClusterIP
      sessionAffinity: None
    EOF
    

    Ingress.yaml文件内容如下:

    [root@mfyxw50 ~]# cat > /data/k8s-yaml/dubbo-demo-consumer/Ingress.yaml << EOF
    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
    EOF
    

    6.应用dubbo-demo-consumer(消费者)的资源配置清单

    在master节点(mfyxw30.mfyxw.com或mfyxw40.mfyxw.com)任意一台机器上执行即可

    [root@mfyxw30 ~]# kubectl apply -f http://k8s-yaml.od.com/dubbo-demo-consumer/deployment.yaml
    deployment.extensions/dubbo-demo-consumer created
    [root@mfyxw30 ~]# 
    [root@mfyxw30 ~]# kubectl apply -f http://k8s-yaml.od.com/dubbo-demo-consumer/service.yaml
    service/dubbo-demo-consumer created
    [root@mfyxw30 ~]# 
    [root@mfyxw30 ~]# kubectl apply -f http://k8s-yaml.od.com/dubbo-demo-consumer/Ingress.yaml
    ingress.extensions/dubbo-demo-consumer created
    

    7.查看名称空间app是否运行了dubbo-demo-consumer

    [root@mfyxw30 ~]# kubectl get pod -n app
    NAME                                   READY   STATUS    RESTARTS   AGE
    dubbo-demo-consumer-6c7f6f598b-l2gdx   1/1     Running   0          44s
    dubbo-demo-service-5bd9876c7d-pxpd9    1/1     Running   8          2d19h
    

    8.登录monitor查看

    image-20200616152224776

    9.浏览器访问

    image-20200616152121967

  • 相关阅读:
    【BZOJ 1455】罗马游戏
    【UR #2】树上GCD
    1067: [SCOI2007]降雨量
    1068: [SCOI2007]压缩
    1066: [SCOI2007]蜥蜴
    1065: [NOI2008]奥运物流
    1064: [Noi2008]假面舞会
    1063: [Noi2008]道路设计
    2329: [HNOI2011]括号修复
    2734: [HNOI2012]集合选数
  • 原文地址:https://www.cnblogs.com/Heroge/p/13141209.html
Copyright © 2011-2022 走看看