IT评测·应用市场-qidao123.com

标题: Kubernetes 之 DaemonSet 根本原理 [打印本页]

作者: 吴旭华    时间: 2024-6-22 12:56
标题: Kubernetes 之 DaemonSet 根本原理
Kubernetes 之 DaemonSet 根本原理

DaemonSet 界说

DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本。 当有节点参加集群时, 也会为他们新增一个 Pod 。 当有节点从集群移除时,这些 Pod 也会被接纳。删除 DaemonSet 将会删除它创建的全部 Pod。它最经常被使用在收集集群日志的用途上。
DaemonSet 使用

  1. apiVersion: apps/v1
  2. kind: DaemonSet
  3. metadata:
  4.   name: fluentd-elasticsearch
  5.   namespace: kube-system
  6.   labels:
  7.     k8s-app: fluentd-logging
  8. spec:
  9.   selector:
  10.     matchLabels:
  11.       name: fluentd-elasticsearch
  12.   template:
  13.     metadata:
  14.       labels:
  15.         name: fluentd-elasticsearch
  16.     spec:
  17.       tolerations:
  18.       # 这些容忍度设置是为了让该守护进程集在控制平面节点上运行
  19.       # 如果你不希望自己的控制平面节点运行 Pod,可以删除它们
  20.       - key: node-role.kubernetes.io/control-plane
  21.         operator: Exists
  22.         effect: NoSchedule
  23.       - key: node-role.kubernetes.io/master
  24.         operator: Exists
  25.         effect: NoSchedule
  26.       containers:
  27.       - name: fluentd-elasticsearch
  28.         image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
  29.         resources:
  30.           limits:
  31.             memory: 200Mi
  32.           requests:
  33.             cpu: 100m
  34.             memory: 200Mi
  35.         volumeMounts:
  36.         - name: varlog
  37.           mountPath: /var/log
  38.       # 可能需要设置较高的优先级类以确保 DaemonSet Pod 可以抢占正在运行的 Pod
  39.       # priorityClassName: important
  40.       terminationGracePeriodSeconds: 30
  41.       volumes:
  42.       - name: varlog
  43.         hostPath:
  44.           path: /var/log
复制代码
  1. root@k8s-master1:~# kubectl get ds -n kube-system
  2. NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
  3. fluentd-elasticsearch   3         3         3       3            3           <none>                   112s
  4. kube-proxy              3         3         3       3            3           kubernetes.io/os=linux   18d
  5. root@k8s-master1:~# kubectl get pods -n kube-system -owide -l name=fluentd-elasticsearch
  6. NAME                          READY   STATUS    RESTARTS   AGE    IP               NODE          NOMINATED NODE   READINESS GATES
  7. fluentd-elasticsearch-6fmkb   1/1     Running   0          3m8s   10.244.194.122   k8s-worker1   <none>           <none>
  8. fluentd-elasticsearch-pd4ps   1/1     Running   0          3m8s   10.244.159.156   k8s-master1   <none>           <none>
  9. fluentd-elasticsearch-tkkvq   1/1     Running   0          3m8s   10.244.126.2     k8s-worker2   <none>           <none>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4