一、rc控制器資源的概述
? ? ? ? replicationcontrollers控制器資源,簡稱:rc控制器;
? ? ? ? 簡單理解,rc控制器就是控制相同的pod副本數(shù)量;
? ? ? ? 使用rc控制器資源創(chuàng)建pod,就可以設(shè)定創(chuàng)建pod的數(shù)量;
二、rc控制器資源管理
1,編輯rc資源清單
[root@k8s231 rc]# vim rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
? name: rc01
spec:
? #控制pod的副本數(shù)量
? replicas: 5
? #選擇要創(chuàng)建副本的pod的標簽(關(guān)聯(lián)pod標簽,把誰的副本設(shè)置成5個呀?)
? selector:
? ? k8s: xinjizhiwa
? #下面就是你要控制的pod了(就是pod資源的編輯);
? template:
? ? metadata:
? ? ? name: pod-01
? ? ? labels:
? ? ? ? k8s: xinjizhiwa
? ? spec:
? ? ? containers:
? ? ? - name: c1
? ? ? ? image: nginx:1.20.1-alpine
? ? ? ? ports:
? ? ? ? - containerPort: 80
2,創(chuàng)建rc資源
[root@k8s231 rc]# kubectl apply -f rc.yaml
3,查看rc資源
[root@k8s231 rc]# kubectl get rc
4,刪除rc資源
[root@k8s231 rc]# kubectl delete rc rc01
5,小結(jié)
1,rc控制器創(chuàng)建的pod是按照標簽進行副本數(shù)量控制的;
2,rc控制器資源創(chuàng)建的pod,直接刪除pod,還會重新拉起,只有刪除rc資源,pod才會消失;
3,修改rc資源,需要重新編rc資源清單,再次apply就可以修改了;
三、rc控制器資源實現(xiàn)業(yè)務(wù)的升級與回滾
1,模擬2個版本的鏡像
第一個鏡像
· 編輯dockerfile
[root@k8s231 dockerfile]# cat Dockerfile?
FROM nginx:1.20.1-alpineCOPY ?code/v1 ?/usr/share/nginx/html/index.html
CMD ? ["/usr/sbin/nginx", "-g", "daemon off;"]
· 編輯index文件
[root@k8s231 dockerfile]# cat code/v1?
v1:xinjizhiwa-01
· 構(gòu)建鏡像推送到harbor倉庫
[root@k8s231 dockerfile]# cat b1.sh
#!/bin/bash
docker login -u admin -p 1 harbor.xinjizhiwa.comdocker image build -t harbor.xinjizhiwa.com/xinjizhiwa-nginx/nginx:v1 .
docker push harbor.xinjizhiwa.com/xinjizhiwa-nginx/nginx:v1
第二個鏡像
· 編輯dockerfile
[root@k8s231 dockerfile]# cat Dockerfile?
FROM nginx:1.20.1-alpineCOPY ?code/v2 ?/usr/share/nginx/html/index.html
CMD ? ["/usr/sbin/nginx", "-g", "daemon off;"]
· 編輯index文件
[root@k8s231 dockerfile]# cat code/v1?
v2:xinjizhiwa-02
· 構(gòu)建鏡像推送到harbor倉庫
[root@k8s231 dockerfile]# cat b1.sh
#!/bin/bash
docker login -u admin -p 1 harbor.xinjizhiwa.comdocker image build -t harbor.xinjizhiwa.com/xinjizhiwa-nginx/nginx:v2 .
docker push harbor.xinjizhiwa.com/xinjizhiwa-nginx/nginx:v2
2,編輯rc、svc資源清單
[root@k8s231 rc]# cat rc.yaml?
apiVersion: v1
kind: ReplicationController
metadata:
? name: rc-nginx
spec:
? #控制pod的副本數(shù)量
? replicas: 3
? #選擇要創(chuàng)建副本的pod的標簽(關(guān)聯(lián)pod標簽,把誰的副本設(shè)置成n個呀?)
? selector:?
? ? k8s: xinjizhiwa
? #下面就是你要控制的pod了(就是pod資源的編輯);
? template:
? ? metadata:
? ? ? name: pod-nginx
? ? ? labels:
? ? ? ? k8s: xinjizhiwa
? ? spec:
? ? ? containers:
? ? ? - name: c1
? ? ? ? image: harbor.xinjizhiwa.com/xinjizhiwa-nginx/nginx:v1
? ? ? ? ports:
? ? ? ? - containerPort: 80
? ? ? ? command:?
? ? ? ? - "nginx"
? ? ? ? - "-g"
? ? ? ? - "daemon off;"
---
#編輯service資源用于外部訪問
apiVersion: v1
kind: Service
metadata:
? name: svc-rc-nginx
spec:
? type: NodePort
? clusterIP: 10.200.10.10
? selector:
? ? k8s: xinjizhiwa
? ports:
? - port: 88
? ? targetPort: 80
? ? nodePort: 30001
3,創(chuàng)建rc、svc資源
[root@k8s231 rc]# kubectl apply -f rc.yaml
4,瀏覽器訪問
5,模擬迭代,換鏡像
· 把資源清單中的image鏡像從v1換成v2
[root@k8s231 rc]# cat rc.yaml?
apiVersion: v1
kind: ReplicationController
metadata:
? name: rc-nginx
spec:
? #控制pod的副本數(shù)量
? replicas: 3
? #選擇要創(chuàng)建副本的pod的標簽(關(guān)聯(lián)pod標簽,把誰的副本設(shè)置成n個呀?)
? selector:?
? ? k8s: xinjizhiwa
? #下面就是你要控制的pod了(就是pod資源的編輯);
? template:
? ? metadata:
? ? ? name: pod-nginx
? ? ? labels:
? ? ? ? k8s: xinjizhiwa
? ? spec:
? ? ? containers:
? ? ? - name: c1
? ? ? ? image: harbor.xinjizhiwa.com/xinjizhiwa-nginx/nginx:v2
? ? ? ? ports:
? ? ? ? - containerPort: 80
? ? ? ? command:?
? ? ? ? - "nginx"
? ? ? ? - "-g"
? ? ? ? - "daemon off;"
---
#編輯service資源用于外部訪問
apiVersion: v1
kind: Service
metadata:
? name: svc-rc-nginx
spec:
? type: NodePort
? clusterIP: 10.200.10.10
? selector:
? ? k8s: xinjizhiwa
? ports:
? - port: 88
? ? targetPort: 80
? ? nodePort: 30001
· 重新執(zhí)行apply
[root@k8s231 rc]# kubectl apply -f rc.yaml
· 刪除原有pod
刪除后會自動重新拉取pod,就會拉取最新的pod了;
[root@k8s231 rc]# kubectl delete pods --all
· 瀏覽器查看,發(fā)現(xiàn)迭代完成
########################################文章來源:http://www.zghlxwxcb.cn/news/detail-828711.html
rc控制器方式,生產(chǎn)環(huán)境當中,從來不用;只是為了教學,模擬使用rc迭代;文章來源地址http://www.zghlxwxcb.cn/news/detail-828711.html
到了這里,關(guān)于13-k8s的控制器資源-rc控制器replicationcontrollers的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!