阿里云k8s部署zookeeper集群
2024-08-20 12:50:27
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
最新文章
- 丰富“WinForms” 的一个别样";项目";(学生管理)
- Bower 自定义组件文件夹名称
- Hadoop第3周练习--Hadoop2.X编译安装和实验
- 查看kernel log命令
- 通过SQL Server Profiler来监视分析死锁
- Linux网络编程实例解析
- Spring中的BeanUtils与apache commons中的BeanUtils用法[1]
- java一点东西(3)
- JavaScript之惰性函数
- μCOS-Ⅲ——常用注意事项
- Luogu P4323 [JSOI2016]独特的树叶
- Spring Boot(二):Web 综合开发
- Paramiko和堡垒机实现
- 使用 Virtual Machine Manager 管理虚拟机
- easyDialog参数配置说明
- ZOJ 1654 Place the Robots建图思维(分块思想)+二分匹配
- tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数
- 傻瓜式学Python3——列表
- 20145223 杨梦云 《网络对抗》 Web安全基础实践
- async和await关键词用于定义原生的协程
热门文章
- springboot在idea的RunDashboard如何显示出来
- 学习Spring-Data-Jpa(十)---注解式方法查询之@Query、@Modifying与派生delete
- MongoDB 4.2 的主要亮点(转载)
- 70: libreoj #2424 区间dp
- 《RabbitMQ 实战》读书笔记
- git:GitLab代码回滚到特定版本
- mysql 获取数学成绩最高以及最低的同学
- springMVC开启声明式事务实现操作日志记录
- 移动端 - adb shell常见问题汇总
- NIO Channel 管道