k8s 部署rc資源ReplicationController
RC:副本控制器
保證指定數(shù)量的pod始終存活。rc通過(guò)標(biāo)簽選擇器來(lái)關(guān)聯(lián)pod
創(chuàng)建rc
[root@ pod]#: cat k8s_rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 5 #副本數(shù)量
selector:
app: myweb
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: 192.168.64.129:5000/nginx:v1
ports:
- containerPort: 80
kubectl create -f k8s_rc.yam
查看狀態(tài)
[root@ pod]#: kubectl get rc
NAME DESIRED CURRENT READY AGE
nginx 5 5 5 47m
[root@ pod]#: kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 1 2d
nginx-4mnq0 1/1 Running 0 28m
nginx-g4rgx 1/1 Running 0 47m
nginx-jbx7g 1/1 Running 0 47m
nginx-sght0 1/1 Running 0 47m
nginx-z9mr8 1/1 Running 0 47m
rc 為版本控制數(shù) ,可以指定創(chuàng)建幾個(gè)pod 也可用滾動(dòng)升級(jí)
rc的滾動(dòng)升級(jí)
準(zhǔn)備將要升級(jí)的版本
[root@ pod]#: cat k8s_rc2.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx2
spec:
replicas: 5
selector:
app: myweb2
template:
metadata:
labels:
app: myweb2
spec:
containers:
- name: myweb2
image: 192.168.64.129:5000/nginx:v2
ports:
- containerPort: 80
ps:名字必須于源rc的名字不能相同
標(biāo)簽也不能與源rc的標(biāo)簽相同
kubectl rolling-update nginx -f k8s_rc2.yaml --update-period=10s
rolling-update 滾動(dòng)升級(jí)
nginx 指定升級(jí)的rc
-f k8s_rc2.yaml 想升級(jí)到的rc 文件
--update-period 升級(jí)周期 (生產(chǎn)環(huán)境可延長(zhǎng)時(shí)間)