惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
D
Docker
J
Java Code Geeks
腾讯CDC
Blog — PlanetScale
Blog — PlanetScale
G
Google Developers Blog
M
MIT News - Artificial intelligence
L
LangChain Blog
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
博客园 - Franky
GbyAI
GbyAI
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
N
Netflix TechBlog - Medium
B
Blog RSS Feed
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News

郑文峰的博客

使用dify对接飞书多维表格 使用n8n对接飞书多维表格 服务启动时出现 OOM 一次服务升级时pg表DDL执行超时失败 Go语言高效IO缓冲技术详解 Go语言延迟初始化(Lazy Initialization)最佳实践 Go语言字符串拼接性能对比与优化指南 Go语言结构体内存对齐完全指南 Go语言空结构体:零内存消耗的高效编程 Go语言堆栈分配与逃逸分析深度解析 Go语言原子操作完全指南 Go语言内存预分配完全指南 Go语言不可变数据共享:无锁并发编程实践 Go语言零拷贝技术完全指南 Go语言遍历性能深度解析:从原理到优化实践 Go语言Interface Boxing原理与性能优化指南 Go协程池深度解析:原理、实现与最佳实践 使用etcd分布式锁导致的协程泄露与死锁问题 基于pre-commit的Python代码规范落地实践 初识 MCP Server pulsar阻塞导致logstash无法接入日志 django-prometheus使用及源码分析 kube-proxy源码分析 kubernetes service如何通过iptables转发 tcp缓存引起的日志丢失 django-apschedule定时任务异常停止 理解calico容器网络通信方案原理 理解flannel的三种容器网络方案原理 理解Linux IPIP隧道 理解VXLAN网络
k8s之DaemonSet
zhengwenfeng · 2022-08-31 · via 郑文峰的博客

# 什么是DaemonSet?

在K8s集群中的每一个Node中都会运行一个Pod的控制器。

使用场景是?

  • 日志收集,每个节点运行一个Pod用于收集容器产生的日志
  • 监控管理,每个节点运行一个pod用于监控节点的状态
  • 网络应用,每个节点运行一个Pod用于将节点加入k8s网络

# 使用DaemonSet

使用yaml描述DaemonSet对象

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: nginx-ds
  labels:
    k8s-app: nginx-ds
spec:
  selector:
    matchLabels:
      name: nginx-ds
  template:
    metadata:
      labels:
        name: nginx-ds
    spec:
      containers:
      - name: nginx-ds
        image: nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

创建DaemonSet对象,会看到自动的每一个节点中都创建了一个pod。

[root@k8s-worker1 zwf]# kubectl apply -f daemonset.yaml -n zwf
daemonset.apps/nginx-ds configured

[root@k8s-worker1 zwf]# kubectl get nodes
NAME          STATUS   ROLES    AGE    VERSION
k8s-master    Ready    <none>   32d    v1.23.4
k8s-worker1   Ready    <none>   152d   v1.23.4
k8s-worker2   Ready    <none>   152d   v1.23.4

[root@k8s-worker1 zwf]# kubectl get ds -n zwf
NAME       DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
nginx-ds   3         3         3       3            3           <none>          4m2s

[root@k8s-worker1 zwf]# kubectl get pods -n zwf -o wide
NAME             READY   STATUS    RESTARTS   AGE   IP               NODE          NOMINATED NODE   READINESS GATES
nginx-ds-7w2kx   1/1     Running   0          81s   10.222.194.73    k8s-worker1   <none>           <none>
nginx-ds-l5lmx   1/1     Running   0          46s   10.222.126.38    k8s-worker2   <none>           <none>
nginx-ds-zdfgl   1/1     Running   0          82s   10.222.235.217   k8s-master    <none>           <none>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18