原来k8s与docker 对结通过
CRI ----》dockershim ---->docker daemon
kubelet :
1、cri-docker ----->docker CE (daemon)
2、containerd ( 是 docker 捐献给CNNF 云原生组织的)
dokcer 容器4个组件
docker Daemon 守护进程
containerd -->CNNF
dockershim
runc
Docker Engine早于CRI,因此 Docker Engine不兼容 CRI。 为了解决这个问题,在 kubelet 组件中引入了一个小型软件 shim (dockershim),专门用于填补 Docker Engine 和 CRI 之间的空白, 允许集群操作员继续使用 Docker Engine 作为他们的容器运行时。
deployment
Deployment为Pod和Replica Set提供声明式更新。
spec 定义一组Pod期望状态,status 一组Pod实际状态。期望状态一般来自用户提交的YAML文件,这些信息都保存在Etcd中。
Pod被ReplicaSet管理,ReplicaSet控制pod的数量;ReplicaSet被Deployment管理,Deployment控制pod应用的升级、回滚,当然也能控制pod的数量。Service提供一个统一固定入口,负责将前端请求转发给Pod。
查看deployment 。 kubectl get deployment
查看deploymnet 以yaml格式查看。 kubectl get deployment web01 -o yaml -n test-ns
查看deployment 事件。 kubectl describe deployment web01 -n test-ns
应用yaml创建deployment 。 kubectl apply -f nginx.yml
不真正执行生成yaml文件 。 kubectl run myweb99 --image=nginx:1.7.9 --dry-run=client -o yaml
升级deployment 。 kubectl set image deployment web01 nginx=nginx:1.13
回滚deployment版本 。
kubectl rollout history deployment/nginx-deployment //查看可回滚的历史版本
kubectl rollout undo deployment/nginx-deployment --to-revision=3 //回滚到指定历史版本
kubectl rollout undo deployment/nginx-deployment //不指定版本,就是回滚到前一个
扩容缩容deployment 数量。
[root@k8s-master01 ~]# kubectl get deployment -n test-ns
NAME READY UP-TO-DATE AVAILABLE AGE
web01 3/3 3 3 5d14h
web02 3/3 3 3 5d14h
[root@k8s-master01 ~]# kubectl scale deployment web01 --replicas=5 -n test-ns
deployment.apps/web01 scaled
[root@k8s-master01 ~]# kubectl get deployment -n test-ns
NAME READY UP-TO-DATE AVAILABLE AGE
web01 3/5 5 3 5d14h
web02 3/3 3 3 5d14h
[root@k8s-master01 ~]# kubectl scale deployment web01 --replicas=2 -n test-ns
deployment.apps/web01 scaled
[root@k8s-master01 ~]# kubectl get deployment -n test-ns
NAME READY UP-TO-DATE AVAILABLE AGE
web01 2/2 2 2 5d14h
暴露 deployment端口:(容器的80端口 ,映射到service 的 30000以上端口)
[root@k8s-master01 ~]# kubectl expose deployment myweb --type=NodePort --port=80
service/myweb exposed
删除deployment (会删除pod ,rs ,但不会删除service)
标签:kubectl,马哥,--,----,web01,deployment,test,k8s From: https://www.cnblogs.com/vzhangxk/p/17292352.html