控制器管理

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

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

文件内容

监控:

测试结果

相关推荐
java_logo1 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
死磕音视频1 小时前
Open WebUI 入门:用 Docker 装上本地对话界面并连接 Ollama
docker·ollama·本地大模型·open webui
分布式存储与RustFS1 小时前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
n112122 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
小白的码BUG之路3 小时前
K8s -- 搭建过程中经常遇到的问题
云原生·容器·kubernetes
慈云数据3 小时前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器
螺蛳粉 螺蛳粉3 小时前
第 03 篇:为什么 K8s 的最小调度单元是 Pod 而不是容器:pause 容器与边车模式(底座认知 03)
docker·云原生·容器·kubernetes·etcd·运维排障·kube-apiserver
艾伦_耶格宇4 小时前
【kubernetes - 1.28版本】-9 K8S-dashbord可视化界面
云原生·容器·kubernetes
无人生还别怕21 小时前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
杨浦老苏1 天前
把项目管理搬回自己服务器:Windshift部署与避坑
docker·项目管理·群晖