kubernetes pod控制器 DaemonSet

1.介绍

像我们主节点 现在是不会允许任何pod的

原因很简单,你用 kubeadm 安装出来的 kubernetes 集群 主节点默认会有一个 污点 污点就会让别的 pod 并不能调度过来当前node 如果你想调度过来的话 我们必须要在调度章节里 给大家讲完一个东西 叫容忍 有了容忍以后呢 我们可以容忍这个污点 它就具备了调度的可能性

DaemonSet会保证每个pod 有且只有一个运行,并且 master节点 我们知道它会有一个污点存在

所以现在运行的结果应该时 node01 和 node02 都会运行一个pod

比如 我们在每个Node 上运行监控 daemon 例如 Prometheus 我们需要一个采集端

在每个节点上采集对应的指标,然后通过我们的HTTP协议接口的方式 暴露出来再被我们的 普罗米修斯所捕获 在这种情况下 我们想要去运行采集端的话 那可能我会在每个节点上面去运行一个pod

那部署的方式一定是基于 daemonset的方式去部署

2.我们来一个小实验

bash 复制代码
apiVersion: apps/v1
kind: DaemonSet
metadata:
 name: deamonset-demo
 labels:
  app: daemonset-demo
spec:
 selector:
  matchLabels:
   name: deamonset-demo
 template:
  metadata:
   labels:
    name: deamonset-demo
  spec:
   containers:
     - name: daemonset-demo-container
       image: wangyanglinux/myapp:v1.0

如果忘了可以敲

bash 复制代码
kubectl create deployment --help

如果像生成一个资源清单可以

bash 复制代码
kubectl create deployment myapp --image=wangyanglinux/myapp:v1.0 --dry-run -o yaml

查看主节点

bash 复制代码
kubectl describe node k8s-master01

node-role.kubernetes.io/control-plane为 污点的 key ;value 为空 所以被省略了,冒号右边为策略 不调度 意思是 不调度不产生新的调度结果 所以新创建的pod是不能在我的节点上面被运行

保证每一个节点有且只有一个pod运行

3.总结

相关推荐
qwy7152292581631 小时前
1-Docker Engine 安装前置环境配置
运维·docker·容器
sszdzq4 小时前
docker 安装 doris
运维·docker·容器
海的透彻6 小时前
docker容器进程探究
运维·docker·容器
❀͜͡傀儡师7 小时前
ShadowBroker:实时全球情报地图,开源情报(OSINT)的终极聚合平台
docker·容器·llama
么卡7 小时前
我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版)
kubernetes
AI攻城狮8 小时前
Adaptive Thinking 的代价:当 AI 自己决定"想多少"
人工智能·云原生·aigc
Dontla9 小时前
Kubernetes Liveness Probe存活探针 / Readiness Probe就绪探针介绍(Startup Probe启动探针)重启容器
云原生·容器·kubernetes
格林威9 小时前
工业相机 SDK 在 Docker 容器中的部署与权限配置(含 USB/GigE)
开发语言·人工智能·数码相机·计算机视觉·docker·容器·工业相机
AI攻城狮9 小时前
Vibe Coding 时代:为什么你不应该盲目启用 AI 编码插件
人工智能·云原生·aigc
Gofarlic_OMS11 小时前
Windchill的license合规使用报告自动化生成与审计追踪系统
大数据·运维·人工智能·云原生·自动化·云计算