apiVersion: v1kind: Servicemetadata:name: zk-hsnamespace: ufm-devlabels:k8s-app: zkspec:ports:- port: 2888name: server- port: 3888name: leader-electionclusterIP: Noneselector:k8s-app: zk---apiVersion: v1kind: Servicemetadata:name: zk-csnamespace: ufm-devlabels:k8s-app: zkspec:ports:- port: 2181name: clientselector:k8s-app: zk---apiVersion: policy/v1beta1kind: PodDisruptionBudgetmetadata:name: zk-pdbnamespace: ufm-devspec:selector:matchLabels:k8s-app: zkmaxUnavailable: 1---apiVersion: apps/v1kind: StatefulSetmetadata:name: zknamespace: ufm-devspec:selector:matchLabels:k8s-app: zkserviceName: zk-hsreplicas: 1updateStrategy:type: RollingUpdatepodManagementPolicy: Paralleltemplate:metadata:labels:k8s-app: zkspec:affinity:podAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: "k8s-app"operator: Invalues:- zktopologyKey: "kubernetes.io/hostname"containers:- name: zookeeperimagePullPolicy: Alwaysimage: "registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/zookeeper:v3.4.10"resources:requests:cpu: 250mmemory: 500Miports:- containerPort: 2181name: client- containerPort: 2888name: server- containerPort: 3888name: leader-electioncommand:- sh- -c- "start-zookeeper \--servers=1 \--data_dir=/var/lib/zookeeper/data \--data_log_dir=/var/lib/zookeeper/data/log \--conf_dir=/opt/zookeeper/conf \--client_port=2181 \--election_port=3888 \--server_port=2888 \--tick_time=2000 \--init_limit=10 \--sync_limit=5 \--heap=512M \--max_client_cnxns=60 \--snap_retain_count=3 \--purge_interval=12 \--max_session_timeout=40000 \--min_session_timeout=4000 \--log_level=INFO"readinessProbe:exec:command:- sh- -c- "zookeeper-ready 2181"initialDelaySeconds: 10timeoutSeconds: 5livenessProbe:exec:command:- sh- -c- "zookeeper-ready 2181"initialDelaySeconds: 10timeoutSeconds: 5restartPolicy: AlwayssecurityContext:runAsUser: 1000fsGroup: 1000######################################################################################################################---kind: ServiceapiVersion: v1metadata:name: mysql-hsnamespace: ufm-devlabels:k8s-app: mysqlspec:ports:- port: 3306name: clientselector:k8s-app: mysqlclusterIP: Nonetype: ClusterIP---apiVersion: apps/v1kind: StatefulSetmetadata:name: mysqlnamespace: ufm-devlabels:k8s-app: mysqlspec:replicas: 1selector:matchLabels:k8s-app: mysqlserviceName: mysql-hstemplate:metadata:labels:k8s-app: mysqlspec:affinity:podAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: "k8s-app"operator: Invalues:- mysqltopologyKey: "kubernetes.io/hostname"containers:- name: mysqlimage: registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/mysql:v5.7imagePullPolicy: Alwaysenv:- name: MYSQL_ROOT_PASSWORDvalue: root- name: "HOST_IP"valueFrom:fieldRef:fieldPath: status.podIPresources:requests:cpu: 250mmemory: 500MilivenessProbe:exec:command: ["mysqladmin", "-ucanal", "-pcanal", "ping"]initialDelaySeconds: 30periodSeconds: 10timeoutSeconds: 5readinessProbe:exec:command: ["mysql", "-hlocalhost", "-ucanal", "-pcanal", "-euse mysql;select 1"]initialDelaySeconds: 20periodSeconds: 2timeoutSeconds: 1ports:- containerPort: 3306name: clientrestartPolicy: Always######################################################################################################################---apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata:labels:k8s-app: canal-adminname: canal-admin-ingressnamespace: ufm-devspec:rules:- host: canal.yalonglee.cnhttp:paths:- path: /backend:serviceName: canal-adminservicePort: 8089---kind: ServiceapiVersion: v1metadata:name: canal-adminnamespace: ufm-devlabels:k8s-app: canal-adminspec:ports:- port: 8089name: admin-portselector:k8s-app: canal-admin---apiVersion: apps/v1kind: Deploymentmetadata:name: canal-adminnamespace: ufm-devlabels:k8s-app: canal-adminspec:replicas: 1selector:matchLabels:k8s-app: canal-admintemplate:metadata:labels:k8s-app: canal-adminspec:containers:- name: canal-adminimage: registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/canal-admin:v1.1.4imagePullPolicy: Alwaysenv:- name: "canal.adminUser"value: "admin"- name: "canal.adminPasswd"value: "admin"- name: "server.port"value: "8089"resources:requests:cpu: 500mmemory: 1Giports:- containerPort: 8089name: admin-portinitContainers:- name: init-dbimage: registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/busybox:1.28.4command: ['sh', '-c', 'until nslookup mysql-0.mysql-hs; do echo waiting for mysql-0.mysql-hs; sleep 2; done;']restartPolicy: Always######################################################################################################################---kind: ServiceapiVersion: v1metadata:name: canal-server-hsnamespace: ufm-devlabels:k8s-app: canal-serverspec:ports:- port: 11110name: canal-admin-port- port: 11111name: canal-server-port- port: 11112name: metrics-portselector:k8s-app: canal-serverclusterIP: Nonetype: ClusterIP---apiVersion: apps/v1kind: StatefulSetmetadata:name: canal-servernamespace: ufm-devlabels:k8s-app: canal-serverspec:replicas: 1selector:matchLabels:k8s-app: canal-serverserviceName: canal-server-hstemplate:metadata:labels:k8s-app: canal-serverspec:affinity:podAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: "k8s-app"operator: Invalues:- canal-servertopologyKey: "kubernetes.io/hostname"containers:- name: canal-serverimage: registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/canal-server:v1.1.4imagePullPolicy: Alwaysenv:# tcp bind ip- name: "canal.ip"valueFrom:fieldRef:fieldPath: status.podIP# register ip to zookeeper- name: "canal.register.ip"valueFrom:fieldRef:fieldPath: status.podIP# podName + serviceName + namespace = hostname- name: "canal.pod.name"valueFrom:fieldRef:fieldPath: metadata.name- name: "canal.service.name"value: "canal-server-hs"- name: "canal.namespace"valueFrom:fieldRef:fieldPath: metadata.namespace# canal-admin的端口号- name: "canal.admin.port"value: "11110"# canal-server的tcp端口号- name: "canal.port"value: "11111"# canal-admin的账号- name: "canal.admin.user"value: "admin"# canal-admin的密码(数据库加密后的密文)- name: "canal.admin.passwd"value: "4ACFE3202A5FF5CF467898FC58AAB1D615029441"# 是否自动向canal-admin进行注册- name: "canal.admin.register.auto"value: "true"# 自动注册至对应的集群- name: "canal.admin.register.cluster"value: "default"resources:requests:cpu: 500mmemory: 2Giports:- containerPort: 11110name: admin-port- containerPort: 11111name: canal-port- containerPort: 11112name: metrics-portinitContainers:- name: init-zkimage: registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/busybox:1.28.4command: ['sh', '-c', 'until nslookup zk-cs; do echo waiting for zk-hs; sleep 2; done;']- name: init-canal-adminimage: registry.cn-hangzhou.aliyuncs.com/yalong_lee_release/busybox:1.28.4command: ['sh', '-c', 'until nslookup canal-admin; do echo waiting for zk-hs; sleep 2; done;']restartPolicy: Always
用户 密码 admin/123456
