控制器管理

控制器的作用:盯着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分钟跑一次,常用于定时备份、定时清理、定时汇报。

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

文件内容

监控:

测试结果

相关推荐
Lvan的前端笔记1 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
谢亮_vipxieliang4 小时前
Kubernetes 的“操作系统化”:从容器编排到 AI 基础设施控制平面
人工智能·平面·kubernetes
sbjdhjd6 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
热爱Liunx的丘丘人7 小时前
1、什么是K8s
云原生·容器·kubernetes
帷幕落秋8 小时前
Docker的两种安装
运维·docker·容器
工业一体机老司机8 小时前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
fengkai45459 小时前
十二、Redis -2
运维·数据库·redis·容器
DolitD11 小时前
3D应用多实例并发中的GPU隔离技术路径分析
容器·gru·接口隔离原则
姜鱼问生12 小时前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
人生百态,人生如梦13 小时前
Ubuntu在低版本下使用ccswitch+claudecode(CCSwitch+Docker+Claude)连调教程
linux·ubuntu·docker·claudecode·ccswitch