K8S-ELK日誌系統 之二:zookeeper叢集
阿新 • • 發佈:2021-12-18
k8s部署zookeeper
接:https://www.cnblogs.com/cnblo/p/15673102.html
此處zookeeper只要為kafaka提供服務發現功能
zookeeper:apache-zookeeper-3.6.3-bin
1、NFS伺服器上建立可供zookeeper使用的共享儲存
mkdir /datazookeeper
echo "/data/zookeeper *(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports
exportfs -arv
NFS地址:10.0.8.131:/data/zookeeper
2、修改nfs-provisoner.yaml增加上面建立的NFS共享目錄
增加一個container和volume
賬號和許可權即繫結 在https://www.cnblogs.com/cnblo/p/15673102.htm中已做
1 kind: Deployment 2 apiVersion: apps/v1 3 metadata: 4 name: nfs-client-provisioner 5 namespace: es 6 labels: 7 app: nfs-client-provisioner 8 spec: 9 replicas: 1 10 strategy: 11 type: Recreate 12 selector:nfs-provisioner.yaml13 matchLabels: 14 app: nfs-client-provisioner 15 template: 16 metadata: 17 labels: 18 app: nfs-client-provisioner 19 spec: 20 serviceAccount: nfs-provisioner 21 containers: 22 - name: nfs-client-provisioner 23 # image: quay.io/external_storage/nfs-client-provisioner:latest24 image: easzlab/nfs-subdir-external-provisioner:v4.0.1 25 volumeMounts: 26 - name: nfs-client-root 27 mountPath: /persistentvolumes 28 env: 29 - name: PROVISIONER_NAME 30 value: nfs-provisioner 31 - name: NFS_SERVER 32 value: 10.0.8.131 33 - name: NFS_PATH 34 value: /data/elasticsearch 35 - name: nfs-zookeeper-provisioner 36 image: easzlab/nfs-subdir-external-provisioner:v4.0.1 37 volumeMounts: 38 - name: nfs-zookeeper-root 39 mountPath: /persistentvolumes 40 env: 41 - name: PROVISIONER_NAME 42 value: nfs-zookeeper-provisioner 43 - name: NFS_SERVER 44 value: 10.0.8.131 45 - name: NFS_PATH 46 value: /data/zookeeper 47 volumes: 48 - name: nfs-client-root 49 nfs: 50 server: 10.0.8.131 51 path: /data/elasticsearch 52 - name: nfs-zookeeper-root 53 nfs: 54 server: 10.0.8.131 55 path: /data/zookeeper
3、建立storageclass
1 apiVersion: storage.k8s.io/v1 2 kind: StorageClass 3 metadata: 4 name: nfs-zookeeper-storage 5 provisioner: nfs-zookeeper-provisioner 6 parameters: 7 archiveOnDelete: "true"storageclass.yaml
4、Dockerfile
使用openjdk8
Dockerfile entrypoint.shtickTime=2000 initLimit=10 syncLimit=5 dataDir=/data/zookeeper clientPort=2181 quorumListenOnAllIPs=truezoo.cfg
docker build -t harbor.myland.com/baseimages/zookeeper:3.6.3-jdk8-stateful-20211217 .
docker push harbor.myland.com/baseimages/zookeeper:3.6.3-jdk8-stateful-20211217
5、驗證