apiVersion: apps/v1 # 指定api版本,此值必须在kubectl api-versions中kind: DaemonSet # 指定创建资源的角色/类型metadata: # 资源的元数据/属性 name: fluentd-elasticsearch # 资源的名字,在同一个namespace中必须唯一 namespace: default # 部署在哪个namespace中 labels: # 设定资源的标签 k8s-app: fluentd-loggingspec: # 资源规范字段 selector: # 选择器 matchLabels: # 匹配标签 name: fluentd-elasticsearch template: # 模版 metadata: # 资源的元数据/属性 labels: # 设定资源的标签 name: fluentd-elasticsearch spec: # 资源规范字段 tolerations: # 允许在master节点运行 - key: node-role.kubernetes.io/master effect: NoSchedule containers: - name: fluentd-elasticsearch # 容器的名字 image: fluentd:v2.5.2 # 容器使用的镜像地址 resources: # 资源管理 limits: # 最大使用 cpu: 1 # CPU,1核心 = 1000m memory: 200Mi # 内存,1G = 1024Mi requests: # 容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行 cpu: 100m memory: 200Mi volumeMounts: - name: varlog # 挂载设备的名字,与volumes[*].name 需要对应 mountPath: /var/log # 挂载到容器的某个路径下 - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true # 是否只读 # 优雅关闭应用,时间设置。超过该时间会强制关闭【可选项】,默认30秒 terminationGracePeriodSeconds: 30 volumes: #定义一组挂载设备 - name: varlog # 挂载的设备名 hostPath: path: /var/log #挂载设备类型为hostPath,路径为宿主机下的/opt,这里设备类型支持很多种 - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers