1. 程式人生 > 其它 >(十五)Kubernetes資源管理DaemonSet

(十五)Kubernetes資源管理DaemonSet

一、Kubernetes DaemonSet(部署守護程序)

  • 在每一個Node上執行一個Pod,或者是匹配的節點上部署一個Pod。
  • 新加入的Node也同樣會自動執行一個Pod。
    應用場景:
  • Agent
  • 執行叢集儲存的daemon,比如ceph或者glusterd
  • 節點的CNI網路外掛,calico
  • 節點監控:node exporter
  • 節點日誌收集:fluentd或filebeat
  • 服務暴露:部署一個ingress nginx

官方文件:https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

二、案例

1、建立yaml檔案

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: ds-test
  labels:
    app: filebeat
spec:
  # 標籤選擇器
  selector:
    matchLabels:
      app: filebeat
  # 標籤型別
  template:
    metadata:
      labels:
        app: filebeat
    spec:
      # 配置容器
      containers:
      - name: logs
      containers:
      - image: nginx
        ports:
        - containerPort: 80
        # 掛載目錄
        volumeMounts:
        - name: varlog
          mountPath: /tmp/log
      volumes:
      - name: varlog
        hostPath:
          path: /var/log

2、建立容器

kubectl apply -f ds.yaml

3、檢視pod

kubectl get pods
NAME READY STATUS RESTARTS AGE
ds-test-8487j 1/1 Running 0 8s
ds-test-lkflr 1/1 Running 0 8s

4、進入容器測試掛在

kubectl exec -it ds-test-8487j bash
root@ds-test-8487j:/# ls /tmp/log/
anaconda    cron-20190825 secure
audit    dmesg    secure-20190825
boot.log    dmesg.old    spooler
boot.log-20190822 firewalld    spooler-20190825
boot.log-20190823 grubby_prune_debug tallylog
boot.log-20190824 lastlog    tuned
boot.log-20190825 maillog    vmware-vgauthsvc.log.0
boot.log-20190827 maillog-20190825 vmware-vmsvc.log
btmp    messages    wtmp
chrony    messages-20190825 yum.log
containers    pods
cron    rhsm