k8s ReplicationController资源(rc)

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