• 阿里云k8s部署zookeeper集群


    1. 阿里云k8s创建有状态应用 StatefulSet ,  选择使用模板创建 

     可以创建自定义模板

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      creationTimestamp: '2019-09-09T08:45:12Z'
      generation: 1
      labels:
        app: zookeeper
        chart: zookeeper-0.4.2
        heritage: Tiller
        release: zk-test02
      name: zk-test02-zookeeper
      namespace: weifeng-qa
      
    spec:
      podManagementPolicy: OrderedReady
      replicas: 3
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: zookeeper
          release: zk-test02
      serviceName: zk-test02-zookeeper-headless
      template:
        metadata:
          labels:
            app: zookeeper
            release: zk-test02
        spec:
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                - labelSelector:
                    matchLabels:
                      app: zookeeper
                      release: zk-test02
                  topologyKey: kubernetes.io/hostname
          containers:
            - command:
                - sh
                - '-c'
                - zkGenConfig.sh && exec zkServer.sh start-foreground
              env:
                - name: ZK_REPLICAS
                  value: '3'
                - name: ZK_HEAP_SIZE
                  value: 2G
                - name: ZK_TICK_TIME
                  value: '2000'
                - name: ZK_INIT_LIMIT
                  value: '10'
                - name: ZK_SYNC_LIMIT
                  value: '5'
                - name: ZK_MAX_CLIENT_CNXNS
                  value: '60'
                - name: ZK_SNAP_RETAIN_COUNT
                  value: '3'
                - name: ZK_PURGE_INTERVAL
                  value: '1'
                - name: ZK_LOG_LEVEL
                  value: INFO
                - name: ZK_CLIENT_PORT
                  value: '2181'
                - name: ZK_SERVER_PORT
                  value: '2888'
                - name: ZK_ELECTION_PORT
                  value: '3888'
              image: 'registry.cn-hangzhou.aliyuncs.com/xianlu/k8szk:v2'
              imagePullPolicy: Always
              livenessProbe:
                exec:
                  command:
                    - zkOk.sh
                failureThreshold: 3
                initialDelaySeconds: 15
                periodSeconds: 10
                successThreshold: 1
                timeoutSeconds: 5
              name: zookeeper-server
              ports:
                - containerPort: 2181
                  name: client
                  protocol: TCP
                - containerPort: 2888
                  name: server
                  protocol: TCP
                - containerPort: 3888
                  name: leader-election
                  protocol: TCP
              readinessProbe:
                exec:
                  command:
                    - zkOk.sh
                failureThreshold: 3
                initialDelaySeconds: 15
                periodSeconds: 10
                successThreshold: 1
                timeoutSeconds: 5
              resources:
                limits:
                  cpu: '1'
                  memory: 4Gi
                requests:
                  cpu: 500m
                  memory: 2Gi
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
              volumeMounts:
                - mountPath: /var/lib/zookeeper
                  name: datadir
                  subPath: data
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
      updateStrategy:
        type: OnDelete
      volumeClaimTemplates:
        - metadata:
            name: datadir
          spec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: 20Gi
            storageClassName: alicloud-disk-efficiency
          status:
            phase: Pending  

    使用模板创建应用后, 阿里云会自动使用高效云盘创建pv,pvc  挂载到pod 目录  /var/lib/zookeeper

    创建有状态应用后 再创建服务 svc和 headless service 

    再创建可让外部访问的slb 

    测试创建的应用是否正常运行

    [root@test-master03 ~]# kubectl get pod -n weifeng-qa|grep -i "zk-test02"
    zk-test02-zookeeper-0                                    1/1     Running     0          57m
    zk-test02-zookeeper-1                                    1/1     Running     0          56m
    zk-test02-zookeeper-2                                    1/1     Running     0          55m
    

      

    [root@test-master03 ~]# kubectl exec -it zk-test02-zookeeper-0 sh -n xitu-qa
    # zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /usr/bin/../etc/zookeeper/zoo.cfg
    Mode: follower
    
    kubectl exec -it zk-test02-zookeeper-1 sh -n xitu-qa
    # zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /usr/bin/../etc/zookeeper/zoo.cfg
    Mode: follower
    
    
     kubectl exec -it zk-test02-zookeeper-2 sh -n xitu-qa
    
    # zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /usr/bin/../etc/zookeeper/zoo.cfg
    Mode: leader
    

      

    本地客户端连接slb:2181 测试是否正常运行

    [root@centos01 ~]# zkCli.sh -server 192.168.7.225:2181
    
    
    WatchedEvent state:SyncConnected type:None path:null
    
    [zk: 192.168.7.225:2181(CONNECTED) 0] create /renwoledb 'weifeng01'
    Created /renwoledb
    [zk: 192.168.7.225:2181(CONNECTED) 1]  get /renwoledb
    weifeng01
    cZxid = 0x100000002
    ctime = Sat Oct 05 16:02:02 CST 2019
    mZxid = 0x100000002
    mtime = Sat Oct 05 16:02:02 CST 2019
    pZxid = 0x100000002
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 9
    numChildren = 0
    

      

  • 相关阅读:
    关闭窗体后,利用StreamWriter保存控件里面的数据
    ref传递
    C# 特性 Attribute
    关键字 new 的作用
    关键字 base 的作用
    关键字 this 的作用
    random类的使用
    数据库结果为 基于左右值排序的无限分类算法
    PHP显示日期、周几、农历初几、什么节日函数编程代码
    描述了say_hello函数的具体内容,调用zend_printf系统函数在php中打印字符串
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/11624926.html
Copyright © 2020-2023  润新知