rc:保证指定数量的pod始终存活,rc通过标签选择器来关联pod
k8s资源的常见操作:
kubectl create -f xxx.yaml #创建
kubectl get pod|rc #查看列表
kubectl describe pod nginx #查看表的内容
kubectl delete pod nginx 或者kubectl delete -f xxx.yaml #删除pod
kubectl edit pod nginx #编辑资源属性
#创建一个rc
mkdir rc
cd rc
vim k8s_rc1.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 5 #副本5
selector:
app: myweb
template: #模板
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: 10.0.0.11:5000/nginx:1.13
ports:
- containerPort: 80
kubectl create -f k8s_rc1.yaml
[root@k8s-master ~]# kubectl get pod --show-labels -o wide
NAME READY STATUS RESTARTS AGE IP NODE LABELS
nginx 1/1 Running 0 4h 172.18.35.2 k8s-node-2 app=web
nginx-0z6bs 1/1 Running 0 3h 172.18.35.4 k8s-node-2 app=myweb
nginx-1llgw 1/1 Running 0 3h 172.18.35.5 k8s-node-2 app=myweb
nginx-ls85f 1/1 Running 0 3h 172.18.35.7 k8s-node-2 app=myweb
nginx-mvq25 1/1 Running 0 3h 172.18.35.6 k8s-node-2 app=myweb
nginx-sbrq1 1/1 Running 0 3h 172.18.35.8 k8s-node-2 app=myweb
test 2/2 Running 11 3h 172.18.35.3 k8s-node-2 app=web
rc的滚动升级
#master节点
cd k8s_yaml/rc/
cp k8s_rc1.yaml k8s_rc2.yaml
vim k8s_rc2.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx2
spec:
replicas: 5 #副本5
selector:
app: myweb2
template: #模板
metadata:
labels:
app: myweb2
spec:
containers:
- name: myweb
image: 10.0.0.11:5000/nginx:1.15
ports:
- containerPort: 80
kubectl rolling-update nginx -f k8s_rc2.yaml --update-period=2s#升级
kubectl rolling-update nginx -f k8s_rc.yaml --update-period=2s #回滚
#node节点:
wget http://192.168.18.251/file/docker_nginx1.15.tar.gz
docker load -i docker_nginx1.15.tar.gz
docker tag docker.io/nginx:latest 10.0.0.11:5000/nginx:1.15
docker push 10.0.0.11:5000/nginx:1.15