k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/cluster/addons/fluentd-gcp/fluentd-gcp-ds.yaml (about)

     1  apiVersion: apps/v1
     2  kind: DaemonSet
     3  metadata:
     4    name: fluentd-gcp-{{ fluentd_gcp_yaml_version }}
     5    namespace: kube-system
     6    labels:
     7      k8s-app: fluentd-gcp
     8      kubernetes.io/cluster-service: "true"
     9      addonmanager.kubernetes.io/mode: Reconcile
    10      version: {{ fluentd_gcp_yaml_version }}
    11  spec:
    12    selector:
    13      matchLabels:
    14        k8s-app: fluentd-gcp
    15        version: {{ fluentd_gcp_yaml_version }}
    16    updateStrategy:
    17      type: RollingUpdate
    18    template:
    19      metadata:
    20        labels:
    21          k8s-app: fluentd-gcp
    22          kubernetes.io/cluster-service: "true"
    23          version: {{ fluentd_gcp_yaml_version }}
    24      spec:
    25        priorityClassName: system-node-critical
    26        serviceAccountName: fluentd-gcp
    27        dnsPolicy: Default
    28        hostNetwork: true
    29        containers:
    30        - name: fluentd-gcp
    31          image: gcr.io/stackdriver-agents/stackdriver-logging-agent:{{ fluentd_gcp_version }}
    32          volumeMounts:
    33          - name: varlog
    34            mountPath: /var/log
    35          - name: varlibdockercontainers
    36            mountPath: /var/lib/docker/containers
    37            readOnly: true
    38          - name: config-volume
    39            mountPath: /etc/google-fluentd/config.d
    40          env:
    41          - name: NODE_NAME
    42            valueFrom:
    43              fieldRef:
    44                apiVersion: v1
    45                fieldPath: spec.nodeName
    46          - name: STACKDRIVER_METADATA_AGENT_URL
    47            value: http://$(NODE_NAME):8799
    48          # Liveness probe is aimed to help in situarions where fluentd
    49          # silently hangs for no apparent reasons until manual restart.
    50          # The idea of this probe is that if fluentd is not queueing or
    51          # flushing chunks for 5 minutes, something is not right. If
    52          # you want to change the fluentd configuration, reducing amount of
    53          # logs fluentd collects, consider changing the threshold or turning
    54          # liveness probe off completely.
    55          livenessProbe:
    56            initialDelaySeconds: 600
    57            periodSeconds: 60
    58            exec:
    59              command:
    60              - '/bin/sh'
    61              - '-c'
    62              - >
    63                LIVENESS_THRESHOLD_SECONDS=${LIVENESS_THRESHOLD_SECONDS:-300};
    64                STUCK_THRESHOLD_SECONDS=${STUCK_THRESHOLD_SECONDS:-900};
    65                if [ ! -e /var/log/fluentd-buffers ];
    66                then
    67                  exit 1;
    68                fi;
    69                touch -d "${STUCK_THRESHOLD_SECONDS} seconds ago" /tmp/marker-stuck;
    70                if [ -z "$(find /var/log/fluentd-buffers -type d -newer /tmp/marker-stuck -print -quit)" ];
    71                then
    72                  rm -rf /var/log/fluentd-buffers;
    73                  exit 1;
    74                fi;
    75                touch -d "${LIVENESS_THRESHOLD_SECONDS} seconds ago" /tmp/marker-liveness;
    76                if [ -z "$(find /var/log/fluentd-buffers -type d -newer /tmp/marker-liveness -print -quit)" ];
    77                then
    78                  exit 1;
    79                fi;
    80        # BEGIN_PROMETHEUS_TO_SD
    81        - name: prometheus-to-sd-exporter
    82          image: gke.gcr.io/prometheus-to-sd:v0.11.1-gke.1
    83          command:
    84            - /monitor
    85            - --stackdriver-prefix={{ prometheus_to_sd_prefix }}/addons
    86            - --api-override={{ prometheus_to_sd_endpoint }}
    87            - --source=fluentd:http://localhost:24231?whitelisted=stackdriver_successful_requests_count,stackdriver_failed_requests_count,stackdriver_ingested_entries_count,stackdriver_dropped_entries_count
    88            - --pod-id=$(POD_NAME)
    89            - --namespace-id=$(POD_NAMESPACE)
    90          env:
    91            - name: POD_NAME
    92              valueFrom:
    93                fieldRef:
    94                  fieldPath: metadata.name
    95            - name: POD_NAMESPACE
    96              valueFrom:
    97                fieldRef:
    98                  fieldPath: metadata.namespace
    99        # END_PROMETHEUS_TO_SD
   100        nodeSelector:
   101          kubernetes.io/os: linux
   102        terminationGracePeriodSeconds: 60
   103        tolerations:
   104        - operator: "Exists"
   105          effect: "NoExecute"
   106        - operator: "Exists"
   107          effect: "NoSchedule"
   108        volumes:
   109        - name: varlog
   110          hostPath:
   111            path: /var/log
   112        - name: varlibdockercontainers
   113          hostPath:
   114            path: /var/lib/docker/containers
   115        - name: config-volume
   116          configMap:
   117            name: {{ fluentd_gcp_configmap_name }}-v1.2.5