在后续我们会说如何收集kubernetes中的pod日志,在收集日志的时候,需要在每个k8s node节点上运行一个收集日志的进程
,如fluentd。我们知道在通常情况下,kubernetes基于它内部的调度算法来自动分配pod运行在哪个节点上,没有办法保证在每个node上运行一个fluentd
pod。这个时候,Daemon Sets就派上了用场。简单来说,Daemon Sets就是让一个pod在所有的k8s集群节点上都运行一个。
我们直接看下面的示例,在所有节点上都启动一个busybox:
apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: busybox spec: template: metadata: labels: app: busybox spec: containers: - name: busybox image: myhub.mingyuanyun.com/library/busybox command: - sleep - "3600"
我们通过kubectl get daemonset可以看到启动了6个busybox的pod,因为我们有6个kubernetes节点。而事实上,我们并没有指定复制的个数,这就是daemon sets的作用:
NAME DESIRED CURRENT READY NODE-SELECTOR AGE busybox 6 6 6 <none> 1m
时间: 2024-10-24 11:43:30