当前位置: 首页 > news >正文

kubernetes pod控制器 DaemonSet

1.介绍

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

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

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

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

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

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

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

2.我们来一个小实验

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

如果忘了可以敲

kubectl create deployment --help

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

kubectl create deployment myapp --image=wangyanglinux/myapp:v1.0 --dry-run -o yaml

查看主节点

kubectl describe node k8s-master01

 

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

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

3.总结

相关文章:

  • 第P8周:YOLOv5-C3模块实现
  • 【漫话机器学习系列】152.ReLU激活函数(ReLU Activation Function)
  • ARM 汇编基础
  • FPGA中串行执行方式之状态机
  • AWS CDK实战:用代码重新定义云基础设施部署
  • 基于RAG(Retrieval Augmented Generation)架构的简单问答系统的Python实现示例
  • xcode中移除安装的package dependency
  • Spring 事务传播方式
  • 解决Popwindow宽高的问题。
  • 大模型sft-数据构建和选择
  • [特殊字符] 2025蓝桥杯备赛Day7——B2117 整理药名
  • Q2 电商订单数据分析优化
  • WPF UI元素保存为图像文件
  • ip2region与express最佳实践
  • 一些硬件知识【2025/3/1】
  • Maven安装与环境配置
  • 各类神经网络学习:(四)RNN 循环神经网络(下集),pytorch 版的 RNN 代码编写
  • 练习题:98
  • 使用 Ansys Fluent 评估金属管道腐蚀
  • AIGC-名人语录账号运营创作智能体完整指令(DeepSeek,豆包,千问,Kimi,GPT)
  • 多少Moreless:向世界展示现代中式家具的生活美学
  • 美国失去最后的AAA主权评级,继标普、惠誉后再遭穆迪降级
  • 以军证实空袭也门多个港口
  • 国家防汛抗旱总指挥部对15个重点省份开展汛前实地督导检查
  • 清雪车司机未拉手刹下车导致溜车被撞亡,事故调查报告发布
  • 美国务院批准向土耳其出售导弹及相关部件,价值3.04亿美元