apiVersion: v1 kind: ConfigMap metadata: name: consul-config namespace: monitoring labels: app: consul data: consul.hcl: |+ log_level = "error" data_dir = "/consul/data" client_addr = "0.0.0.0" ui_config { enabled = true } ports = { grpc = -1 https = -1 dns = -1 grpc_tls = -1 serf_wan = -1 } peering { enabled = false } connect { enabled = false } acl = { enabled = true default_policy = "deny" enable_token_persistence = true tokens { initial_management = "27c74c79-467f-475b-a782-0e2a10a839e8" agent = "27c74c79-467f-475b-a782-0e2a10a839e8" } } server = true bootstrap_expect = 1 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: consul namespace: monitoring labels: app: consul spec: replicas: 1 selector: matchLabels: app: consul template: metadata: labels: app: consul spec: containers: - name: consul image: 'swr.cn-south-1.myhuaweicloud.com/starsl.cn/consul:latest' args: - agent ports: - name: http containerPort: 8500 protocol: TCP env: - name: TZ value: Asia/Shanghai volumeMounts: - name: data mountPath: /consul/data - name: config mountPath: /consul/config/consul.hcl subPath: consul.hcl imagePullPolicy: IfNotPresent restartPolicy: Always volumes: - name: config configMap: name: consul-config volumeClaimTemplates: - metadata: name: data spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi serviceName: consul --- apiVersion: v1 kind: Service metadata: name: consul namespace: monitoring labels: app: consul spec: ports: - name: http protocol: TCP port: 8500 targetPort: 8500 selector: app: consul type: ClusterIP