Pod分类
控制器
RC和RS的区别
Deployment
deployment管理rs管理pod以支持滚动升级和回滚
Daemonset
JOB
CRONJOB
StatefulSet
HPA
RS
kubectl get pod --show-labels
显示pod的labels
修改labels kubectl label pod pod名称 key=value --overwrite=True
修改标签后发现出现4个pod
kubectl delete rs --all
删除所有rs, 修改了labels的pod无法删除,因为修改的labels的pod不归rs管理
RS和deployment的关联
部署一个简单的Nginx
创建完nginx容器后使用命令
kubectl get pod -o wide
查看pod详情,并且使用命令curl ip 可以请求到nginx里面的资源
扩容:kubectl scale deployment deploymentmingcheng --replicas 10
扩容后nginx有10个pod,库容后的rs模板是没有改变的
kubectl set image deployment/deployment名称 镜像:tag
更新镜像,更新完后发现rs的模板也换了,新增了一个rs
kubectl rollout undo deployment/deployment名称
回滚到deployment上一个版本
deployment更新策略和rollout策略
rollout相关指令
kubectl rollout status deployment/deployment名称 -n 命名空间
查看rollout状态
kubectl rollout history deployment/deployment名称 -n 命名空间
查看rollout历史
kubectl rollout undo deployment/deployment名称 --to-revision=n
回滚到指定版本
使用shell脚本echo $?
查看上个脚本返回状态
Daemonset案例
看到pod在node01和node02上面已经创建了pod节点,管理主节点由于默认设置了污点,所以不会将pod创建在上面
kubectl delete pod daemonset名称
删除对应的daemonset创建的pod,再次查看即可看到在node01节点上开始创建了一个新的pod
JOB案例
手动传镜像
首先将tar.gz压缩包传到主机上,
然后docker load -i perl.tar
加载镜像
然后在2个节点主机上docker images
CRONJOB介绍和案例
kubectl get job
每分钟创建一个job,并且由job创建一个pod
kubectl delete cronjob --all
即可删除cronjob创建的相关的所有cronjob,job,和pod