k8s安装zk集群
安装准备
1.下载zookeeper operator
2.k8s集成任何服务的operator一定要先检查operator的版本是否适配当前的k8s集群版本
3.不是每个operator都能适配自己的k8s集群,要根据自身情况下载合适的zookeeper-operator
https://github.com/pravega/zookeeper-operator

4.创建资源

5.创建临时存储的zk集群
apiVersion: "zookeeper.pravega.io/v1beta1" kind: "ZookeeperCluster" metadata: name: "example" spec: replicas: 3 storageType: ephemeral

6.创建持久化存储的zk集群
1.先要创建对应的pv,否则pod无法被调度


2. 通过kubectl describe pvc data-zookeeper-0来查看pvc的属性信息,根据pvc的名称来创建pv并且通过pvc名称进行绑定
1.pvc名称
2.pvc名称空间
3.pvc存储大小

3.在k8s的相关node上必须先创建/data/k8s/localpv1 本地存储目录
apiVersion: "zookeeper.pravega.io/v1beta1" kind: "ZookeeperCluster" metadata: name: "zookeeper" spec: replicas: 3
apiVersion: v1 kind: PersistentVolume metadata: name: pv-local1 labels: pv: pv-local1 spec: capacity: storage: 20Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: data-zookeeper-0 namespace: default volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: local-storage local: path: /data/k8s/localpv1 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - k8s-ck2
apiVersion: v1 kind: PersistentVolume metadata: name: pv-local2 labels: pv: pv-local2 spec: capacity: storage: 20Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: data-zookeeper-1 namespace: default volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: local-storage local: path: /data/k8s/localpv1 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - k8s-hdfs1
apiVersion: v1 kind: PersistentVolume metadata: name: pv-local3 labels: pv: pv-local3 spec: capacity: storage: 20Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: data-zookeeper-2 namespace: default volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: local-storage local: path: /data/k8s/localpv1 nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - k8s-kafka1


7.外部服务连接zk集群



8.修改service的访问方式


pv和pvc的绑定方式
第一种,在PV中添加label,在PVC中添加matchLabels进行关联

第二种,PV配置中指定关联的PVC

第三种,PVC中设置volumeName

本文来自博客园,作者:不懂123,转载请注明原文链接:https://www.cnblogs.com/yxh168/p/16550958.html
浙公网安备 33010602011771号