kubernetes實戰-交付dubbo服務到k8s集群(五)交付dubbo-monitor監控服務到k8s


首先下載 dubbo-monitor源碼包 7-200

dubbo-monitor是監控zookeeper狀態的一個服務,另外還有dubbo-admin,效果一樣,感興趣的可以自己研究一下。

# cd /opt/src
# wget https://github.com/Jeromefromcn/dubbo-monitor/archive/master.zip
# yum -y install unzip
# unzip master.zip
# mv dubbo-monitor-mster dubbo-monitor
# cd /opt/src/dubbo-monitor

修改配置文件:對應修改,不要全部刪除內容。

# vi /opt/src/dubbo-monitor/dubbo-monitor-simple/conf/dubbo_origin.properties
dubbo.registry.address=zookeeper://zk1.od.com:2181?backup=zk2.od.com:2181,zk3.od.com:2181
dubbo.protocol.port=20880
dubbo.jetty.port=8080
dubbo.jetty.directory=/dubbo-monitor-simple/monitor
dubbo.statistics.directory=/dubbo-monitor-simple/statistics
dubbo.charts.directory=/dubbo-monitor-simple/charts
dubbo.log4j.file=logs/dubbo-monitor.log

優化修改Dockerfile並限制jvm資源,將最后的exec命令的后台&符號刪除,並且將exec命令下面的都干掉:

# sed -r -i -e '/^nohup/{p;:a;N;$!ba;d}'  ./dubbo-monitor-simple/bin/start.sh && sed  -r -i -e "s%^nohup(.*)%exec \1%"  ./dubbo-monitor-simple/bin/start.sh

 

 

執行docker build並上傳鏡像到我們的私有倉庫:

# 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

制作資源配置清單:

1、dp.yaml

# mkdir /data/k8s-yaml/dubbo-monitor
# cd /data/k8s-yaml/dubbo-monitor
# vi dp.yaml
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

2、svc.yaml

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

3、ingress.yaml

# vi ingress.yaml
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

應用資源配置清單:node節點

# 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 pod -n infra

 

這個服務是有web頁面的,我們添加dns解析:

# vi /var/named/od.com.zone

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

 

 

 

 這里已經可以看到我們之前部署的dubbo-demo-service服務了,啟動了兩個進程來提供服務。

 至此,dubbo-monitor監控服務已經部署完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM