Direkt zum Inhalt

Wie kann ich das Amazon-CloudWatch-Observability-Add-on verwenden, um meine Amazon-EKS-Cluster zu überwachen?

Lesedauer: 3 Minute
0

Ich möchte das Amazon-CloudWatch-Observability-Add-on verwenden, um meine Cluster des Amazon Elastic Kubernetes Service (Amazon EKS) zu überwachen.

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Voraussetzungen:

  • Du verfügst über einen funktionierenden Amazon-EKS-Cluster mit angeschlossenen Knoten in einer AWS-Region, die CloudWatch Container Insights unterstützt.
  • Du hast kubectl auf deinem Cluster installiert.
  • Du hast die eksctl CLI auf deinem Computer installiert.

Erstelle eine IAM-Rolle für das Add-on

Führe den folgenden Befehl aus, um einen OpenID-Connect(OIDC)-Anbieter für AWS Identity and Access Management (IAM) zu erstellen:

eksctl utils associate-iam-oidc-provider --cluster my-cluster-name --approve

Hinweis: Ersetze my-cluster-name durch deinen Cluster-Namen. Weitere Informationen findest du unter Zuweisen von IAM-Rollen zu Kubernetes-Servicekonten.

Führe den folgenden Befehl aus, um eine IAM-Rolle mit angehängter CloudWatchAgentServerPolicy zu erstellen.

eksctl create iamserviceaccount \
  --name cloudwatch-agent \
  --namespace amazon-cloudwatch
  --cluster my-cluster-name \
  --role-name AmazonCloudWatchObservabilityRole \
  --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
  --role-only \
  --approve

Hinweis: Ersetze my-cluster-name durch deinen Cluster-Namen. Der vorherige Befehl konfiguriert außerdem das Agenten-Servicekonto so, dass es OIDC verwendet, um die Rolle zu übernehmen.

Installiere das Add-on

Verwende die Amazon-EKS-Konsole oder die AWS CLI, um das Add-on zu installieren.

Amazon-EKS-Konsole

Führen Sie die folgenden Schritte aus:

  1. Öffne die Amazon-EKS-Konsole.
  2. Wähle im Navigationsbereich die Option Cluster aus.
  3. Wähle deinen Cluster-Namen und dann die Registerkarte Add-ons.
  4. Wähle Weitere Add-Ons erhalten und dann Add-Ons auswählen aus.
  5. Wähle im Abschnitt Amazon-EKS-Addons die Option Amazon CloudWatch Observability aus und klicke dann auf Weiter.
  6. Wähle auf der Seite Ausgewählte Add-Ons-Einstellungen konfigurieren die Version aus, die du verwenden möchtest.
  7. Wähle unter Wähle IAM-Rolle die Option AmazonCloudWatchObservabilityRole aus und klicke dann auf Weiter.
  8. Wähle auf der Seite Überprüfen und hinzufügen die Option Erstellen aus.

AWS CLI

Führe den folgenden Befehl create-addon aus, um das Add-on zu installieren:

aws eks create-addon --addon-name amazon-cloudwatch-observability --cluster-name my-cluster-name --service-account-role-arn arn:aws:iam::Account-ID:role/AmazonCloudWatchObservabilityRole

Hinweis: Ersetze my-cluster-name durch deinen Clusternamen und Konto-ID durch deine AWS-Konto-ID.

Nach Abschluss der Installation erstellt Amazon EKS einen amazon-cloudwatch-Namespace in deinem Cluster. Der CloudWatch-Agent und die Fluent-Bit-Pods sind ebenfalls in deinem Cluster aktiv.

Führe den folgenden Befehl aus, um aktive Pods anzuzeigen:

kubectl get pods -n amazon-cloudwatch

Beispielausgabe:

NAME                                                              READY   STATUS    RESTARTS   AGE
amazon-cloudwatch-observability-controller-manager-6c685b4wsdbg   1/1     Running   0          16s
cloudwatch-agent-76bnd                                            1/1     Running   0          16s
cloudwatch-agent-nbdgm                                            1/1     Running   0          16s
fluent-bit-45wl4                                                  1/1     Running   0          16s
fluent-bit-rsfc7                                                  1/1     Running   0          16s

Eine Beispielanwendung bereitstellen

Wenn in deinem Cluster keine Workloads zur Erfassung von Metriken verfügbar sind, stelle den folgenden Beispiel-Workload bereit:

cat <<EOF >deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: eks-cw-sample-app
  labels:
    app: eks-cw-sample-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: eks-cw-sample-app
  template:
    metadata:
      labels:
        app: eks-cw-sample-app
    spec:
      containers:
      - name: nginx
        image: public.ecr.aws/nginx/nginx:1.27
        ports:
        - name: http
          containerPort: 80
        imagePullPolicy: IfNotPresent
EOF

kubectl apply -f deployment.yaml

Verwende den vorhergehenden Workload, um zu überprüfen, ob CloudWatch deine Metriken korrekt erfasst.

Überwache Cluster über die CloudWatch-Konsole

Nach der Installation von Container Insights kannst du deine Metriken in der CloudWatch-Konsole einsehen.

Du kannst auch die AWS-Fargate-Protokollierung für deine Cluster verwenden.

Ähnliche Informationen

Protokollierung und Überwachung beim Amazon EKS

AWS OFFICIALAktualisiert vor 8 Monaten