实战交付dubbo微服务到k8s_07交付dubbo-monitor到k8s集群

实战交付dubbo微服务到k8s_07交付dubbo-monitor到k8s集群

dubbo-monitor源码地址:
https://github.com/Jeromefromcn/dubbo-monitor

下载地址:
https://github.com/Jeromefromcn/dubbo-monitor/archive/refs/heads/master.zip



unzip -d /opt/ dubbo-monitor-master.zip
cd /opt
mv dubbo-monitor-master dubbo-monitor
修改配置文件:
cd /opt/dubbo-monitor/dubbo-monitor-simple/conf/
vim dubbo_origin.properties


修改start.sh脚本
cd /opt/dubbo-monitor/dubbo-monitor-simple/bin
vim start.sh




保存退出。
cd /opt
cp -a dubbo-monitor /data/dockerfile/
cd /data/dockerfile/dubbo-monitor
docker build . -t harbor.od.com/infra/dubbo-monitor:latest


docker push harbor.od.com/infra/dubbo-monitor:latest






准备资源配置清单, [ hdss7-200.host.com ]

mkdir -p /data/k8s-yaml/dubbo-monitor & cd /data/k8s-yaml/dubbo-monitor

vim dp.yaml ##Deployment 资源配置清单
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: dubbo-monitor
  namespace: infra
  labels:
    name: dubbo-monitor
spec:
  replicas: 1
  selector:
    matchLabels:
      name: dubbo-monitor
  template:
    metadata:
      labels:
        app: dubbo-monitor
        name: dubbo-monitor
    spec:
      containers:
      - name: dubbo-monitor
        image: harbor.od.com/infra/dubbo-monitor:latest
        ports:
        - containerPort: 8080
          protocol: TCP
        - containerPort: 20880
          protocol: TCP
        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

###########++++++++++++
cd /data/k8s-yaml/dubbo-monitor

vim svc.yaml ##Service资源配置清单

kind: Service
apiVersion: v1
metadata:
  name: dubbo-monitor
  namespace: infra
spec:
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080
  selector:
    app: dubbo-monitor


port: 8080 ## cluster ip 上面跑的端口,这里端口是多少,ingress里面的端口也应该是多少

targetPort: 8080 ### docker 里面跑的什么端口

cd /data/k8s-yaml/dubbo-monitor
vim ingress.yaml ## Ingress资源配置清单
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: dubbo-monitor
  namespace: infra
spec:
  rules:
  - host: dubbo-monitor.od.com
    http:
      paths:
      - path: /
        backend:
          serviceName: dubbo-monitor
          servicePort: 8080


#####++++++++++++
在任意一个节点上应用刚才创建的资源配置清单

[root@hdss7-21 ~]#
kubectl apply -f http://k8s-yaml.od.com/dubbo-monitor/dp.yaml
kubectl apply -f http://k8s-yaml.od.com/dubbo-monitor/svc.yaml
kubectl apply -f http://k8s-yaml.od.com/dubbo-monitor/ingress.yaml

kubectl get pods -o wide -n infra



在dashboard里面查看


在hdss7-11.host.com 上面,添加dubbo-monitor DNS解析

vim /var/named/od.com.zone



systemctl restart named
dig -t A dubbo-monitor.od.com @10.4.7.11 +short


浏览器访问 dubbo-monitor.od.com