首页 > 其他分享 >K8S部署zooker集群

K8S部署zooker集群

时间:2022-11-10 17:00:24浏览次数:42  
标签:name zk -- app zookeeper zooker 集群 K8S spec

直接贴yaml   apiVersion: v1 kind: Service metadata:   name: zk-hs   labels:     app: zk spec:   ports:   - port: 2888     name: server   - port: 3888     name: leader-election   clusterIP: None   selector:     app: zk --- apiVersion: v1 kind: Service metadata:   name: zk-cs   labels:     app: zk spec:   ports:   - port: 2181     name: client   selector:     app: zk --- apiVersion: policy/v1 kind: PodDisruptionBudget metadata:   name: zk-pdb spec:   selector:     matchLabels:       app: zk   maxUnavailable: 1 --- apiVersion: apps/v1 kind: StatefulSet metadata:   name: zk spec:   selector:     matchLabels:       app: zk   serviceName: zk-hs   replicas: 3   updateStrategy:     type: RollingUpdate   podManagementPolicy: OrderedReady   template:     metadata:       labels:         app: zk     spec:       tolerations:       - key: node-role.kubernetes.io/control-plane         operator: Exists         effect: NoSchedule       affinity:         podAntiAffinity:           requiredDuringSchedulingIgnoredDuringExecution:             - labelSelector:                 matchExpressions:                   - key: "app"                     operator: In    #pod的反向亲和,导致了一个node只能有一个zookeeper                     values:                     - zk               topologyKey: "kubernetes.io/hostname"       containers:       - name: kubernetes-zookeeper         imagePullPolicy: IfNotPresent         image: "registry.k8s.io/kubernetes-zookeeper:1.0-3.4.10"         resources:           requests:             memory: "1Gi"             cpu: "0.5"         ports:         - containerPort: 2181           name: client         - containerPort: 2888           name: server         - containerPort: 3888           name: leader-election         command:         - sh         - -c         - "start-zookeeper \           --servers=3 \           --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:   #虽然存活探针和就绪探针是相同的,但同时指定它们两者仍然重要。 这保证了 ZooKeeper ensemble 中只有健康的服务器能接收网络流量             - sh             - -c             - "zookeeper-ready 2181"           initialDelaySeconds: 10           timeoutSeconds: 5         livenessProbe:           exec:             command:             - sh             - -c             - "zookeeper-ready 2181"           initialDelaySeconds: 10           timeoutSeconds: 5         volumeMounts:         - name: datadir           mountPath: /var/lib/zookeeper       securityContext:         runAsUser: 1000         fsGroup: 1000   volumeClaimTemplates:   - metadata:       name: datadir     spec:       storageclassName: managed-nfs-storage  #定义自己的sc名称       accessModes: [ "ReadWriteOnce" ]       resources:         requests:           storage: 10Gi   参考文档https://kubernetes.io/zh-cn/docs/tutorials/stateful-application/zookeeper/ 修改为自己的环境配置,由于我是3节点集群,master有污点,所以给了容忍度,并且镜像使用dockerhub上的一个高下载镜像 默认镜像不可下载,上传到自己harbor后,需要修改镜像拉去策略为 IfNotPresent   验证

 

 官网中使用pdb来保证集群的选举,最多只有一个节点可以挂掉

 

 

节点1和2数据是一致的。之前我再节点0上create 了的    

标签:name,zk,--,app,zookeeper,zooker,集群,K8S,spec
From: https://www.cnblogs.com/whitelittle/p/16877664.html

相关文章

  • 【k8s连载系列】2. k8s整体架构
    一、Kubernetes的整体架构学习k8s,最终目的是为了部署应用,部署一个完整的k8s,就要知道k8s的组成。k8s主要包含两大部分:中间包含三个绿色包的是master服务器.下面是node......
  • 不只是负载均衡,活字格智能集群的架构与搭建方案
    还在单机服务器,时刻面临宕机风险吗?优化程度不够,响应速度缓慢,系统工作响应像老汉拉车吗?为了帮助大家具备企业级应用的部署能力,轻松应对核心业务系统的部署要求,我们准备了......
  • 在 Kubernetes 集群上部署 Dapr
    在Kubernetes集群上部署Dapr在本地机器上运行以下命令以在集群上初始化Dapr:daprinit--kubernetes验证安装结果:daprstatus-k ......
  • k8s 命令操作
    kubectltaintnodek8s-master01key1=value1:NoExecute添加污点并驱逐podetcd命令操作etcdctl--endpoints=https://[127.0.0.1]:2379--cacert=/etc/kubernetes/pki......
  • 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix
    前置条件:使用Kubeadm部署Kubernetes(K8S)安装安装ingress-nginx组件(在master节点执行)通过ip+port号进行访问,使用Service里的NodePort实现,把端口对外暴露缺陷......
  • 如何快速入门k8s
    1什么是k8sKubernetes也称为K8S,其中8是代表中间“ubernete”的8个字符,是Google在2014年开源的一个容器编排引擎,用于自动化容器化应用程序的部署、规划、扩展和管理,它将组成......
  • Karmada大规模测试报告发布:突破100倍集群规模
    摘要:在本文中,我们将介绍用于测试的相关指标,如何进行大规模测试,以及我们如何实现大规模的集群接入。本文分享自华为云社区《​​突破100倍集群规模!Karmada大规模测试报告发布......
  • k8s iptables 改造ipvs
    1.修改iptables为ipvs模式 ipvs采用的hash表,iptables采用一条条的规则列表。集群数量越多iptables规则就越多,而iptables规则是从上到下匹配,所以效率就越是低下......
  • 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(PV&PVC)
    使用Kubeadm部署Kubernetes(K8S)安装--持久化存储(NFS网络存储)NFS存在一个弊端,需要知道NFS服务器的地址,配在yaml中PV:持久化存储,对存储资源进行抽象,对外提供可......
  • CDH集群内存不够?先别急着加机器
    我们在使用CDH集群的时候,经常会跑一些spark、flink等任务,通常会占用集群较高的内存;随着业务进展,数据量增加,可能会并行跑一些任务,或者是给历史任务分配的内存不足以运行现......