deamonSet
用于在集群中每个Node上只运行一份pod的副本实例,比如日志收集进程、节点监控程序
下面我们定义了在每个Node上启动一个fluentd容器,其中挂载了物理机两个目录 /var/log和/var/lib/docker/containers,要在物理机新建/var/log/nginx目录
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: 2fluentd-cloud-logging
namespace: kube-system
labels:
k8s-app: 2fluentd-cloud-logging
spec:
selector:
matchLabels:
k8s-app: 2fluentd-cloud-logging
template:
metadata:
labels:
k8s-app: 2fluentd-cloud-logging
spec:
containers:
- name: 2fluentd-cloud-logging
image: nginx
resources:
limits:
cpu: 100m
memory: 200Mi
env:
- name: FLUENTD_ARGS
value: -q
volumeMounts:
- name: varlog
mountPath: /var/log
readOnly: false
- name: containers
mountPath: /var/lib/docker/containers
readOnly: false
volumes:
- name: containers
hostPath:
path: /var/lib/docker/containers
- name: varlog
hostPath:
path: /var/log
~
启动程序
kubectl create -f 2fluentd-ds.yaml
常看damonset
kubectl get daemonset --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
2fluentd-cloud-logging 1 1 1 1 1 <none> 28m
我这里有两个Node,只启动了一个,一会查查
查看pod
kubectl get pod --namespace=kube-system |grep flu
2fluentd-cloud-logging-clm8f 1/1 Running 0 29m