马哥课程回顾----deployment
原来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 ,rc ,但不会删除service)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端