Difference between revisions of "Kubernetes DaemonSets"

From wikieduonline
Jump to navigation Jump to search
Line 12: Line 12:
  
 
  apiVersion: apps/v1
 
  apiVersion: apps/v1
 
 
  kind: DaemonSet
 
  kind: DaemonSet
 
 
  metadata:
 
  metadata:
 
 
   name: fluentd-elasticsearch
 
   name: fluentd-elasticsearch
 
 
   namespace: kube-system  
 
   namespace: kube-system  
 
 
   labels:
 
   labels:
 
 
     k8s-app: fluentd-logging
 
     k8s-app: fluentd-logging
 
 
  spec:
 
  spec:
 
 
   selector:  
 
   selector:  
 
 
     matchLabels:
 
     matchLabels:
 
 
 
       name: fluentd-elasticsearch
 
       name: fluentd-elasticsearch
 
 
   template:
 
   template:
 
 
     metadata:
 
     metadata:
 
 
       labels:
 
       labels:
 
 
         name: fluentd-elasticsearch
 
         name: fluentd-elasticsearch
 
 
     spec:
 
     spec:
+
       [[tolerations:]
       [[tolerations:]]
+
       # these tolerations are to have the daemonset runnable on control plane node
 
 
       # these tolerations are to have the daemonset runnable on control plane nodes
 
 
 
 
       # remove them if your control plane nodes should not run pods
 
       # remove them if your control plane nodes should not run pods
 +
      - key: node-role.kubernetes.io/control-plane
 
<pre>
 
<pre>
      - key: node-role.kubernetes.io/control-plane
 
 
 
         operator: Exists
 
         operator: Exists
  

Revision as of 11:29, 14 September 2022

Kubernetes Daemonset can be used to run replicas of a pod on specific or all node.

Typical uses of a DaemonSet are:

Official example

https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd-elasticsearch
  namespace: kube-system 
  labels:
    k8s-app: fluentd-logging
spec:
  selector: 
    matchLabels:
      name: fluentd-elasticsearch
  template:
    metadata:
      labels:
        name: fluentd-elasticsearch
    spec:
      [[tolerations:]
     # these tolerations are to have the daemonset runnable on control plane node
     # remove them if your control plane nodes should not run pods
     - key: node-role.kubernetes.io/control-plane
        operator: Exists

        effect: NoSchedule

      - key: node-role.kubernetes.io/master

        operator: Exists

        effect: NoSchedule

      containers:

      - name: fluentd-elasticsearch

        image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2

        resources:

          limits:

            memory: 200Mi

          requests:

            cpu: 100m

            memory: 200Mi

        volumeMounts:

        - name: varlog

          mountPath: /var/log

        - name: varlibdockercontainers

          mountPath: /var/lib/docker/containers

          readOnly: true

      terminationGracePeriodSeconds: 30

      volumes:

      - name: varlog

        hostPath:

          path: /var/log

      - name: varlibdockercontainers

        hostPath:

          path: /var/lib/docker/containers

Activities

Related terms

See also

Advertising: