14.使用ConfigMap管理应用配置

拆分环境

主机名 角色 ip
HDSS7-11.host.com zk1.fx.com 10.4.7.11
HDSS7-12.host.com zk2.fx.com 10.4.7.12

重配zookeeper

HDSS7-11.host.com上:

[root@hdss7-11 ~]# sh /opt/zookeeper/bin/zkServer.sh stop
[root@hdss7-11 ~]# rm -rf /data/zookeeper/data/*
[root@hdss7-11 ~]# rm -rf /data/zookeeper/logs/*
[root@hdss7-11 ~]# vim /opt/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
[root@hdss7-11 ~]# sh /opt/zookeeper/bin/zkServer.sh start 
[root@hdss7-11 ~]# sh /opt/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: standalone

HDSS7-12.host.com上:

[root@hdss7-12 ~]# sh /opt/zookeeper/bin/zkServer.sh stop
[root@hdss7-12 ~]# rm -rf /data/zookeeper/data/*
[root@hdss7-12 ~]# rm -rf /data/zookeeper/logs/*
[root@hdss7-12 ~]# vim /opt/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
[root@hdss7-12 ~]# sh /opt/zookeeper/bin/zkServer.sh start 
[root@hdss7-12 ~]# sh /opt/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Mode: standalone

 准备资源配置清单

configmap.yaml

[root@hdss7-200 dubbo-monitor]# vim configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:
  name: dubbo-monitor-cm
  namespace: infra
data:
  dubbo.properties: |
    dubbo.container=log4j,spring,registry,jetty
    dubbo.application.name=simple-monitor
    dubbo.application.owner=Maple
    dubbo.registry.address=zookeeper://zk1.fx.com:2181
    dubbo.protocol.port=20880
    dubbo.jetty.port=8080
    dubbo.jetty.directory=/dubbo-monitor-simple/monitor
    dubbo.charts.directory=/dubbo-monitor-simple/charts
    dubbo.statistics.directory=/dubbo-monitor-simple/statistics
    dubbo.log4j.file=logs/dubbo-monitor-simple.log
    dubbo.log4j.level=WARN

deployment.yaml

[root@hdss7-200 dubbo-monitor]# vim deployment.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.fx.com/infra/dubbo-monitor:latest
        ports:
        - containerPort: 8080
          protocol: TCP
        - containerPort: 20880
          protocol: TCP
        imagePullPolicy: IfNotPresent
        volumeMounts:
          - name: configmap-volume
            mountPath: /dubbo-monitor-simple/conf
      volumes:
       - name: configmap-volume
         configMap:
           name: dubbo-monitor-cm
      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

应用资源配置清单

[root@hdss7-21 ~]# kubectl apply -f http://k8s-yaml.fx.com/dubbo-monitor/configmap.yaml
[root@hdss7-21 ~]# kubectl apply -f http://k8s-yaml.fx.com/dubbo-monitor/deployment.yaml

验证

原文地址:https://www.cnblogs.com/fxxy/p/13162043.html