k8s 资源控制器

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

おすすめ

転載: blog.csdn.net/Persistence___/article/details/117332479