diff --git a/flask-consul/units/upload.py b/flask-consul/units/upload.py index 0756d13..2df70d1 100644 --- a/flask-consul/units/upload.py +++ b/flask-consul/units/upload.py @@ -30,7 +30,7 @@ def importconsul(row,imptype): "tags": [vendor,os], "Meta": {'vendor':vendor,'account':account,'region':region,'group':group, 'name':name,'instance':instance,'os':os}, - "check": {"tcp": instance,"interval": "60s"} + #"check": {"tcp": instance,"interval": "60s"} } elif imptype == 'selfrds': vendor,account,region,group,name,instance,os = row diff --git a/install/k8s/1.consul-deploy.yaml b/install/k8s/1.consul-deploy.yaml new file mode 100644 index 0000000..554bc62 --- /dev/null +++ b/install/k8s/1.consul-deploy.yaml @@ -0,0 +1,119 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: tensuns +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: consul-config + namespace: tensuns + 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 = "0fa6736f-745f-411a-886c-0d6800818253" + agent = "0fa6736f-745f-411a-886c-0d6800818253" + } + } + server = true + bootstrap_expect = 1 +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: consul + namespace: tensuns + labels: + app: consul +spec: + replicas: 1 + selector: + matchLabels: + app: consul + template: + metadata: + labels: + app: consul + spec: + volumes: + - name: consul-config + configMap: + name: consul-config + containers: + - name: consul + image: 'swr.cn-south-1.myhuaweicloud.com/starsl.cn/consul:latest' + ports: + - name: http + containerPort: 8500 + protocol: TCP + env: + - name: TZ + value: Asia/Shanghai + volumeMounts: + - name: consul-data + mountPath: /consul/data + - name: consul-config + mountPath: /consul/config/consul.hcl + subPath: consul.hcl + imagePullPolicy: IfNotPresent + restartPolicy: Always + volumeClaimTemplates: + - kind: PersistentVolumeClaim + apiVersion: v1 + metadata: + name: consul-data + namespace: tensuns + annotations: + everest.io/disk-volume-type: SAS + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: csi-disk + volumeMode: Filesystem + serviceName: consul + +--- +apiVersion: v1 +kind: Service +metadata: + name: consul + namespace: tensuns + labels: + app: consul +spec: + ports: + - name: http + protocol: TCP + port: 8500 + targetPort: 8500 + selector: + app: consul + type: ClusterIP diff --git a/install/k8s/2.tensuns-deploy.yaml b/install/k8s/2.tensuns-deploy.yaml new file mode 100644 index 0000000..06ed4ab --- /dev/null +++ b/install/k8s/2.tensuns-deploy.yaml @@ -0,0 +1,118 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: tensuns +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: flask-consul + namespace: tensuns + 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 consul 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: 'sss' + - name: consul_token + value: '0fa6736f-745f-411a-886c-0d6800818253' + - name: consul_url + value: 'http://consul:8500/v1' + - name: log_level + value: INFO + - name: TZ + value: Asia/Shanghai + imagePullPolicy: Always + restartPolicy: Always +--- +kind: Service +apiVersion: v1 +metadata: + name: flask-consul + namespace: tensuns + 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 + namespace: tensuns + 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: tensuns + namespace: tensuns + labels: + app: tensuns +spec: + ports: + - name: nginx-consul + protocol: TCP + port: 1026 + targetPort: 1026 + nodePort: 31026 + selector: + app: nginx-consul + type: NodePort + externalTrafficPolicy: Cluster