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]