RC测试_滚动升级

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginxrc
spec:
  replicas: 3
  selector:
    app: nginx1
  template:
    metadata:
      labels:
        app: nginx1
    spec:
      containers:
      - name: nginx3
        image: 192.168.3.220:5000/test/nginx:1.16
        ports:

 kubectl create -f k8s_rc_pod.yml  (创建)

[root@220 yml]# kubectl get rc
NAME DESIRED CURRENT READY AGE
nginxrc 3 3 3 8m

kubectl delete rc nginxrc   (删除,其中无法使用kubectl delete pods nignx-xxx删除)

[root@220 yml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginxrc-bpjjd 1/1 Running 0 4m 10.99.54.3 192.168.3.222
nginxrc-hlh45 1/1 Running 0 4m 10.99.54.2 192.168.3.222
nginxrc-xhbjh 1/1 Running 0 4m 10.99.46.2 192.168.3.221
[root@220 yml]# kubectl get pods -o wide -l app=nginx1
NAME READY STATUS RESTARTS AGE IP NODE
nginxrc-bpjjd 1/1 Running 0 4m 10.99.54.3 192.168.3.222
nginxrc-hlh45 1/1 Running 0 4m 10.99.54.2 192.168.3.222
nginxrc-xhbjh 1/1 Running 0 4m 10.99.46.2 192.168.3.221

改副本个数

kubectl  replace -f k8s_rc_pod.yml (文件改,整个重启)

kubectl edit rc nginxrc (在线修改)

 kubectl scale rc nginxrc --replicas=5 (改副本为5)

[root@220 yml]# kubectl get rc
NAME DESIRED CURRENT READY AGE
nginxrc 5 5 5 13m

k8s_rc_pod.yml中镜像滚动升级

并重新push新版本v1倒regisrty上

metadata:
  name:

kubectl rolling-update [METADATA:NAME] -f [updateNAMEFILE]  --update-period=3s  (更新动作,也可用于回滚,METADATA:NAME中rc名字,

updateNAMEFILE中被更新名字或者文件名字 ////update更新副本间隔,默认一分钟 ,--rollback回滚参数)

kubectl rolling-update nginxrc -f k8s_rc_pod.yml --update-period=3s  (升级的名称不能一样不然冲突无法升级)

kubectl rolling-update nginxrc --image=192.168.3.220:5000/test/nginx:v1 --update-period=10s

kubectl rolling-update nginxrc --image=192.168.3.220:5000/nginx/nginx:v1 --update-period=3s 

回滚

kubectl rolling-update nginxrc  nginxrc1 --rollback     

kubectl rolling-update nginxrc  --rollback

如果删除不了的pod或者rc看看这个,这里指更新失败的容器

kubectl get rc

kubectl delet rc [NAME]

原文地址:https://www.cnblogs.com/Leaders543/p/12655716.html