

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# (Optional) Aktivieren Sie die Use\_Kubelet Funktion für große Cluster
<a name="ContainerInsights-use-kubelet"></a>

Standardmäßig ist die Use\_Kubelet Funktion im Kubernetes-Plugin deaktiviert. FluentBit Die Aktivierung dieses Features kann den Datenverkehr zum API-Server reduzieren und ein Engpass-Problem durch den API-Server abmildern. Wir empfehlen, dieses Feature für große Cluster zu aktivieren.

Fügen Sie zur Aktivierung Use\_Kubelet zunächst die Knoten und nodes/proxy Berechtigungen zur ClusterRole-Konfiguration hinzu.

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: fluent-bit-role
rules:
  - nonResourceURLs:
- /metrics
    verbs:
- get
  - apiGroups: [""]
    resources:
- namespaces
- pods
- pods/logs
- nodes
- nodes/proxy
    verbs: ["get", "list", "watch"]
```

In der DaemonSet Konfiguration benötigt diese Funktion Zugriff auf das Host-Netzwerk. Die Imageversion für `amazon/aws-for-fluent-bit` sollte 2.12.0 oder höher sein bzw. sollte die Fluent Bit-Image-Version 1.7.2 oder höher sein.

```
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluent-bit
  namespace: amazon-cloudwatch
  labels:
    k8s-app: fluent-bit
    version: v1
    kubernetes.io/cluster-service: "true"
spec:
  selector:
    matchLabels:
k8s-app: fluent-bit
  template:
    metadata:
labels:
  k8s-app: fluent-bit
  version: v1
  kubernetes.io/cluster-service: "true"
    spec:
containers:
- name: fluent-bit
  image: amazon/aws-for-fluent-bit:2.19.0
  imagePullPolicy: Always
  env:
      - name: AWS_REGION
        valueFrom:
          configMapKeyRef:
            name: fluent-bit-cluster-info
            key: logs.region
      - name: CLUSTER_NAME
        valueFrom:
          configMapKeyRef:
            name: fluent-bit-cluster-info
            key: cluster.name
      - name: HTTP_SERVER
        valueFrom:
          configMapKeyRef:
            name: fluent-bit-cluster-info
            key: http.server
      - name: HTTP_PORT
        valueFrom:
          configMapKeyRef:
            name: fluent-bit-cluster-info
            key: http.port
      - name: READ_FROM_HEAD
        valueFrom:
          configMapKeyRef:
            name: fluent-bit-cluster-info
            key: read.head
      - name: READ_FROM_TAIL
        valueFrom:
          configMapKeyRef:
            name: fluent-bit-cluster-info
            key: read.tail
      - name: HOST_NAME
        valueFrom:
          fieldRef:
            fieldPath: spec.nodeName
      - name: HOSTNAME
        valueFrom:
          fieldRef:
            apiVersion: v1
            fieldPath: metadata.name      
      - name: CI_VERSION
        value: "k8s/1.3.8"
  resources:
      limits:
        memory: 200Mi
      requests:
        cpu: 500m
        memory: 100Mi
  volumeMounts:
  # Please don't change below read-only permissions
  - name: fluentbitstate
    mountPath: /var/fluent-bit/state
  - name: varlog
    mountPath: /var/log
    readOnly: true
  - name: varlibdockercontainers
    mountPath: /var/lib/docker/containers
    readOnly: true
  - name: fluent-bit-config
    mountPath: /fluent-bit/etc/
  - name: runlogjournal
    mountPath: /run/log/journal
    readOnly: true
  - name: dmesg
    mountPath: /var/log/dmesg
    readOnly: true
terminationGracePeriodSeconds: 10
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
volumes:
- name: fluentbitstate
  hostPath:
    path: /var/fluent-bit/state
- name: varlog
  hostPath:
    path: /var/log
- name: varlibdockercontainers
  hostPath:
    path: /var/lib/docker/containers
- name: fluent-bit-config
  configMap:
    name: fluent-bit-config
- name: runlogjournal
  hostPath:
    path: /run/log/journal
- name: dmesg
  hostPath:
    path: /var/log/dmesg
serviceAccountName: fluent-bit
tolerations:
- key: node-role.kubernetes.io/master
  operator: Exists
  effect: NoSchedule
- operator: "Exists"
  effect: "NoExecute"
- operator: "Exists"
  effect: "NoSchedule"
```

Die Konfiguration des Kubernetes-Plug-Ins sollte in etwa folgendermaßen aussehen:

```
[FILTER]
  Name                kubernetes
  Match               application.*
  Kube_URL            https://kubernetes.default.svc:443
  Kube_Tag_Prefix     application.var.log.containers.
  Merge_Log           On
  Merge_Log_Key       log_processed
  K8S-Logging.Parser  On
  K8S-Logging.Exclude Off
  Labels              Off
  Annotations         Off
  Use_Kubelet         On
  Kubelet_Port        10250 
  Buffer_Size         0
```