Hacklink panel

Hacklink Panel

Hacklink panel

Hacklink

Hacklink panel

Backlink paketleri

Hacklink Panel

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Illuminati

Hacklink

Hacklink Panel

Hacklink

Hacklink Panel

Hacklink panel

Hacklink Panel

Hacklink

Masal oku

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Masal Oku

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink Panel

Hacklink

Hacklink

Hacklink

Buy Hacklink

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Masal Oku

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink Panel

Postegro

royalbet

deneme bonusu ver3n siteler

Hacklink panel

cratosroyalbet

sezarcasino

grandpashabet

pulibet güncel

vdcasino

betebet

Hacklink satın al

Hacklink

pulibet güncel giriş

pulibet giriş

casibom

casibom

casibom

casibom

casibom

casibom

casibom

casibom

adapazarı escort

antalya dedektör

jojobet

jojobet giriş

casibom

casibom giriş

casibom

casibom

sapanca escort

deneme bonusu

betathome

betathome eingang

betathome login

piabellacasino

kingroyal

kingroyal güncel giriş

kingroyal giriş

kingroyal giriş

jojobet

jojobet giriş

Grandpashabet

INterbahis

AGB99

Agb99

taraftarium24

meritking

izmir escort

matbet

kingroyal

porno

sakarya escort

Hacking forum

Deneme Bonusu Veren Siteler

google

kingroyal

king royal giriş

kingroyal güncel giriş

king royal

mariobet

ikimisli

marsbahis

imajbet

bahsegel

deneme bonusu

imajbet

mariobet

marsbahis

imajbet

meritking

meritking giriş

kingroyal

casibom

casibom

tlcasino

tambet

İkimisli

casibom

×

1 k8s所有节点导入镜像
[root@master231 ~]# wget http://192.168.21.253/Resources/Kubernetes/Case-Demo/zookeeper/oldboyedu-kubernetes-zookeeper-v1.0-3.4.10.tar.gz

[root@master231 ~]# scp oldboyedu-kubernetes-zookeeper-v1.0-3.4.10.tar.gz 10.0.0.232:~

[root@master231 ~]# scp oldboyedu-kubernetes-zookeeper-v1.0-3.4.10.tar.gz 10.0.0.233:~


其他所有节点要导入镜像:
[root@master231 ~]# docker load -i oldboyedu-kubernetes-zookeeper-v1.0-3.4.10.tar.gz

[root@worker232 ~]# docker load -i oldboyedu-kubernetes-zookeeper-v1.0-3.4.10.tar.gz

[root@worker233 ~]# docker load -i oldboyedu-kubernetes-zookeeper-v1.0-3.4.10.tar.gz


2 编写资源清单
[root@master231 statefulsets]# cat > 05-sts-zookeeper-cluster.yaml << ‘EOF’
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
# 此类型用于定义可以对一组Pod造成的最大中断,说白了就是最大不可用的Pod数量。
# 一般情况下,对于分布式集群而言,假设集群故障容忍度为N,则集群最少需要2N+1个Pod。
kind: PodDisruptionBudget
metadata:
name: zk-pdb
spec:
# 匹配Pod
selector:
matchLabels:
app: zk
# 最大不可用的Pod数量。这意味着将来zookeeper集群,最少要2*1 +1 = 3个Pod数量。
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/master
operator: Exists
effect: NoSchedule
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
– labelSelector:
matchExpressions:
– key: “app”
operator: In
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:
– 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:
accessModes: [ “ReadWriteOnce” ]
resources:
requests:
storage: 10Gi
EOF


3 实时观察Pod状态
[root@master231 statefulsets]# kubectl apply -f 05-sts-zookeeper-cluster.yaml
service/zk-hs created
service/zk-cs created
poddisruptionbudget.policy/zk-pdb created
statefulset.apps/zk created
[root@master231 statefulsets]#
[root@master231 statefulsets]# kubectl get pods -o wide -w -l app=zk

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
zk-0 0/1 Pending 0 0s <none> <none> <none> <none>
zk-0 0/1 Pending 0 1s <none> worker233 <none> <none>
zk-0 0/1 ContainerCreating 0 1s <none> worker233 <none> <none>
zk-0 0/1 ContainerCreating 0 3s <none> worker233 <none> <none>
zk-0 0/1 Running 0 7s 10.100.140.125 worker233 <none> <none>
zk-0 1/1 Running 0 22s 10.100.140.125 worker233 <none> <none>
zk-1 0/1 Pending 0 0s <none> <none> <none> <none>
zk-1 0/1 Pending 0 0s <none> master231 <none> <none>
zk-1 0/1 ContainerCreating 0 0s <none> master231 <none> <none>
zk-1 0/1 ContainerCreating 0 1s <none> master231 <none> <none>
zk-1 0/1 Running 0 5s 10.100.160.189 master231 <none> <none>
zk-1 1/1 Running 0 21s 10.100.160.189 master231 <none> <none>
zk-2 0/1 Pending 0 0s <none> <none> <none> <none>
zk-2 0/1 Pending 0 0s <none> worker232 <none> <none>
zk-2 0/1 ContainerCreating 0 0s <none> worker232 <none> <none>
zk-2 0/1 ContainerCreating 0 1s <none> worker232 <none> <none>
zk-2 0/1 Running 0 5s 10.100.203.188 worker232 <none> <none>
zk-2 1/1 Running 0 21s 10.100.203.188 worker232 <none> <none>



4 检查后端的存储
[root@master231 statefulsets]# kubectl get po,pvc -l app=zk
NAME READY STATUS RESTARTS AGE
pod/zk-0 1/1 Running 0 72s
pod/zk-1 1/1 Running 0 61s
pod/zk-2 1/1 Running 0 50s

NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/datadir-zk-0 Bound pvc-8fa25151-0d0f-4493-97f6-62ff64bd6f09 10Gi RWO oldboyedu-sc-haha 3m32s
persistentvolumeclaim/datadir-zk-1 Bound pvc-630f592d-caf0-47e9-bfaa-9a9397c8344c 10Gi RWO oldboyedu-sc-haha 3m20s
persistentvolumeclaim/datadir-zk-2 Bound pvc-11cfccc3-7509-445b-ba7b-9072b20227b1 10Gi RWO oldboyedu-sc-haha 3m8s
[root@master231 statefulsets]#

5.验证集群是否正常
[root@master231 statefulsets]# for i in 0 1 2; do kubectl exec zk-$i — hostname; done
zk-0
zk-1
zk-2
[root@master231 statefulsets]#
[root@master231 statefulsets]# for i in 0 1 2; do echo “myid zk-$i”;kubectl exec zk-$i — cat /var/lib/zookeeper/data/myid; done
myid zk-0
1
myid zk-1
2
myid zk-2
3
[root@master231 statefulsets]#
[root@master231 statefulsets]# for i in 0 1 2; do kubectl exec zk-$i — hostname -f; done
zk-0.zk-hs.default.svc.oldboyedu.com
zk-1.zk-hs.default.svc.oldboyedu.com
zk-2.zk-hs.default.svc.oldboyedu.com
[root@master231 statefulsets]#
[root@master231 statefulsets]# kubectl exec zk-0 — cat /opt/zookeeper/conf/zoo.cfg
#This file was autogenerated DO NOT EDIT
clientPort=2181
dataDir=/var/lib/zookeeper/data
dataLogDir=/var/lib/zookeeper/data/log
tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
autopurge.snapRetainCount=3
autopurge.purgeInteval=12
server.1=zk-0.zk-hs.default.svc.oldboyedu.com:2888:3888
server.2=zk-1.zk-hs.default.svc.oldboyedu.com:2888:3888
server.3=zk-2.zk-hs.default.svc.oldboyedu.com:2888:3888
[root@master231 statefulsets]#
[root@master231 statefulsets]# kubectl exec zk-1 — cat /opt/zookeeper/conf/zoo.cfg
#This file was autogenerated DO NOT EDIT
clientPort=2181
dataDir=/var/lib/zookeeper/data
dataLogDir=/var/lib/zookeeper/data/log
tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
autopurge.snapRetainCount=3
autopurge.purgeInteval=12
server.1=zk-0.zk-hs.default.svc.oldboyedu.com:2888:3888
server.2=zk-1.zk-hs.default.svc.oldboyedu.com:2888:3888
server.3=zk-2.zk-hs.default.svc.oldboyedu.com:2888:3888
[root@master231 statefulsets]#
[root@master231 statefulsets]# kubectl exec zk-2 — cat /opt/zookeeper/conf/zoo.cfg
#This file was autogenerated DO NOT EDIT
clientPort=2181
dataDir=/var/lib/zookeeper/data
dataLogDir=/var/lib/zookeeper/data/log
tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
autopurge.snapRetainCount=3
autopurge.purgeInteval=12
server.1=zk-0.zk-hs.default.svc.oldboyedu.com:2888:3888
server.2=zk-1.zk-hs.default.svc.oldboyedu.com:2888:3888
server.3=zk-2.zk-hs.default.svc.oldboyedu.com:2888:3888
[root@master231 statefulsets]#


6 创建数据测试
6.1 在一个Pod写入数据
[root@master231 statefulsets]# kubectl exec -it zk-1 — zkCli.sh

[zk: localhost:2181(CONNECTED) 0] ls /

[zookeeper]

[zk: localhost:2181(CONNECTED) 1] [zk: localhost:2181(CONNECTED) 1] create /school oldboyedu Created /school

[zk: localhost:2181(CONNECTED) 2]

[zk: localhost:2181(CONNECTED) 2] create /school/linux97 XIXI Created /school/linux97

[zk: localhost:2181(CONNECTED) 3]

[zk: localhost:2181(CONNECTED) 3] ls /

[zookeeper, school]

[zk: localhost:2181(CONNECTED) 4] [zk: localhost:2181(CONNECTED) 4] ls /school

[linux97]

[zk: localhost:2181(CONNECTED) 5] 6.2 在另一个Pod查看下数据 [root@master231 statefulsets]# kubectl exec -it zk-2 — zkCli.sh … [zk: localhost:2181(CONNECTED) 0] ls /

[zookeeper, school]

[zk: localhost:2181(CONNECTED) 1] get /school/linux97 XIXI cZxid = 0x100000003 ctime = Mon Jun 09 03:10:51 UTC 2025 mZxid = 0x100000003 mtime = Mon Jun 09 03:10:51 UTC 2025 pZxid = 0x100000003 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 4 numChildren = 0

[zk: localhost:2181(CONNECTED) 2]

7 查看start-zookeeper 脚本逻辑 [root@master231 statefulsets]# kubectl exec -it zk-0 — bash zookeeper@zk-0:/$ zookeeper@zk-0:/$ which start-zookeeper /usr/bin/start-zookeeper zookeeper@zk-0:/$ zookeeper@zk-0:/$ wc -l /usr/bin/start-zookeeper 320 /usr/bin/start-zookeeper zookeeper@zk-0:/$ zookeeper@zk-0:/$ cat /usr/bin/start-zookeeper ;echo …. 8.删除资源 [root@master231 statefulsets]# kubectl delete -f 05-sts-zookeeper.yaml service “zk-hs” deleted service “zk-cs” deleted poddisruptionbudget.policy “zk-pdb” deleted statefulset.apps “zk” deleted [root@master231 statefulsets]#

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

作者

2632782425@qq.com

相关文章

helm入门

1.1helm概述 1)什么是helm? 2...

读出全部

k8s部署医疗服务

1)编写资源清单并提交到gitee 2)je...

读出全部

hpa实战

1.部署修仙业务,要求副本数量为1;2.使用...

读出全部
romabetmegabahissonbahissonbahis girişbetvolebetvole girişmarsbahismarsbahis girişcasibomcasibom girişcasibom güncel girişcasibomcasibom girişcasibom güncel girişmarsbahismarsbahis girişizmir escortbetvolebetvole girişbetvole güncel girişbetvolebetvole girişbetvole güncel girişhacklink satın al