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.总结

相关推荐
檀越剑指大厂1 小时前
【Docker系列五】Docker Compose 简介
运维·docker·容器
阿里云云原生4 小时前
如何在云效中使用 DeepSeek 等大模型实现 AI 智能评审
云原生
阿里云大数据AI技术5 小时前
在EMR Serverless Spark中实现StarRocks读写操作
大数据·分布式·云原生·spark·serverless·emr
云上艺旅6 小时前
K8S学习之基础四十四:k8s中部署Kibana
学习·云原生·容器·kubernetes
阿里云云原生7 小时前
从 DeepSeek 敏感信息泄露谈可观测系统的数据安全预防
云原生
编程在手天下我有8 小时前
微服务 - 中级篇
微服务·云原生·架构
林润庚9 小时前
k8s kubernetes dashboard一直CarshLoopBackoff
云原生·容器·kubernetes
Hurry611 小时前
openEuler 基于 sealos 部署 k8s 1.30 集群
运维·容器·kubernetes·sealos
孔令飞12 小时前
简单粗暴:如何写一篇高质量的技术文章?
人工智能·云原生·go
YAMLMaster13 小时前
K8s 跨集群通信的“量子纠缠”:当 DNS 黑洞吞没你的服务请求
网络·云原生·容器·kubernetes·devops