控制器管理

控制器的作用:盯着pod,按照你的要求,意愿运行。也可以理解成"管 pod 的总管",它的核心作用就是,你想让系统里有多少个 pod、pod 要怎么跑、挂了怎么办、什么时候升级回退,控制器都帮你盯着。你只要说清楚"期望状态",它就尽量把实际状态拉回去,所以它最大的价值就是 自动创建、自动补齐、自动替换、自动扩缩容、自动升级,省得你一个个手工盯着 Pod。

控制器的分类:

  1. ReplicaSet

作用:保证某一类 Pod 的数量一直对得上,比如你要 2 个,它就一直维持 2 个。

大白话:就是"保底人数管理"。

例子:你写 replicas: 2,它就给你保持 2 个 Pod;改成 4,就自动补到 4 个。

建立控制器

监控:

测试:

拉伸:

4个

2个

0个控制器不会删

测试:

2个

0个

删除控制器后

才会消失

  1. Deployment

作用:它是更常用的控制器,专门管应用发布、升级、回滚。

大白话:就是"带升级功能的总管",底下其实靠 ReplicaSet 管 Pod。

例子:把 myapp:v1 改成 myapp:v2,Deployment 会滚动更新;如果发现有问题,还能回退到 v1。

创建控制器

监控:

发布内容,列表显示两个运行IP:

访问:

升级和回滚

访问:

回滚到v1:

访问:

额外功能:还可以 pause/resume 暂停和继续更新,更新策略里还能设置 maxSurge、maxUnavailable 来控制更新过程。

版本更新管理及优化

查看更新策略信息

设置更新信息

暂停更新

测试:

解除暂停

  1. DaemonSet

作用:让每台节点机器上都跑一个 Pod。

大白话:就是"每台机器都安排一个值班员"。

例子:你集群里新增一台 node3,DaemonSet 会自动在 node3 上也起一个 pod,常用于日志采集、监控、运维代理这类程序。

重新生成集群主机注册时需要的token

另外开启一个主机node3,并设定在初始化集群时的所有设定确保所有服务的开启,当node3加入集群后会在node3中立即群星指定的pod,其原因是因为运行了daemonset

bash 复制代码
[root@node3 ~]# kubeadm join 172.25.254.100:6443 --token it0ib2.5p3xfqge1n5fy4h2 --discovery-token-ca-cert-hash sha256:b64c8a1b2f13e5df6f0a48345c316807720b9ba985231f44505f426e1628d641 --cri-socket  unix:///var/run/cri-dockerd.sock
  1. Job

作用:用来跑一次性任务,任务做完就结束。

大白话:就是"干完活就下班"。

例子:执行一个脚本,输出一句话,然后退出;你可以设 completions 控制总共要完成几次,parallelism 控制同时跑几个。

文件内容:

监控:

测试:

  1. CronJob

作用:按时间定时创建 Job。

大白话:就是"K8s 里的定时器"。

例子:*/2 * * * * 表示每2分钟跑一次,常用于定时备份、定时清理、定时汇报。

* * * * *(分 时 日 月 周)

文件内容

监控:

测试结果

相关推荐
闲云自留地9 小时前
Containerd 是什么?架构、插件与安装实践一次讲清
容器
java_logo10 小时前
Docker 部署 Gotenberg 完整教程:Compose 搭建文档转 PDF API
docker·pdf·chromium·libreoffice·文档转换·轩辕镜像·gotenberg
闲云野鹤在人间11 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算
Experience-摆渡11 小时前
开源RAG知识库WeKnora深度调研:让知识自己长成体系
爬虫·docker·开源·rag
闲云野鹤在人间11 小时前
docker 入门 | 第5章 网络详解
网络·docker·架构·华为云·php
闲云自留地12 小时前
告别敲命令!DockerUI 与 Portainer 可视化容器管理实战
docker·容器
wdfk_prog13 小时前
ROS教程10:从 gtest 到 rostest——Unit Test、Node 集成测试、rosbag 与 rqt 验证闭环
运维·缓存·docker·容器·ros
程序猿阿越14 小时前
containerd如何创建Pod
后端·kubernetes·源码阅读
cnkeysky14 小时前
docker 运行 nacos
docker·nacos
itCatface16 小时前
Linux离线部署Dify+Vllm(Qwen2.5-7b)
docker·ai·dify