kind: Deployment apiVersion: apps/v1 metadata: name: flask-consul labels: app: flask-consul spec: replicas: 1 selector: matchLabels: app: flask-consul template: metadata: labels: app: flask-consul spec: initContainers: - name: wait-for-consul image: busybox command: - sh - '-c' - >- for i in $(seq 1 60); do nc -z -w3 x.x.x.x 8500 && exit 0 || sleep 5; done; exit 1 imagePullPolicy: IfNotPresent containers: - name: flask-consul image: 'swr.cn-south-1.myhuaweicloud.com/starsl.cn/flask-consul:latest' ports: - name: http-2026 containerPort: 2026 protocol: TCP env: - name: admin_passwd value: 'xxxxxxxx' - name: consul_token value: xxxx-xxxx-xxxx-xxxx - name: consul_url value: 'http://x.x.x.x:8500/v1' - name: log_level value: INFO - name: TZ value: Asia/Shanghai imagePullPolicy: Always restartPolicy: Always --- kind: Service apiVersion: v1 metadata: name: flask-consul labels: app: flask-consul spec: ports: - name: http-2026 protocol: TCP port: 2026 targetPort: 2026 selector: app: flask-consul type: ClusterIP --- kind: Deployment apiVersion: apps/v1 metadata: name: nginx-consul labels: app: nginx-consul spec: replicas: 1 selector: matchLabels: app: nginx-consul template: metadata: labels: app: nginx-consul spec: containers: - name: nginx-consul image: 'swr.cn-south-1.myhuaweicloud.com/starsl.cn/nginx-consul:latest' ports: - name: http-1026 containerPort: 1026 protocol: TCP env: - name: TZ value: Asia/Shanghai imagePullPolicy: Always restartPolicy: Always --- kind: Service apiVersion: v1 metadata: name: consulmanager labels: service: consulmanager spec: ports: - name: nginx-consul protocol: TCP port: 1026 targetPort: 1026 nodePort: 31026 selector: app: nginx-consul type: NodePort