Saltar al contenido

¿Cómo puedo usar el complemento de observabilidad de Amazon CloudWatch para supervisar mis clústeres de Amazon EKS?

4 minutos de lectura
0

Quiero usar el complemento de observabilidad de Amazon CloudWatch para supervisar mis clústeres de Amazon Elastic Kubernetes Service (Amazon EKS).

Solución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Requisitos previos:

Creación de un rol de IAM para el complemento

Para crear un proveedor de OpenID Connect (OIDC) de AWS Identity and Access Management (IAM), ejecute el siguiente comando:

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

Nota: Sustituya my-cluster-name por el nombre de su clúster. Para obtener más información, consulte Asignación de roles de IAM a las cuentas de servicio de Kubernetes.

Para crear un rol de IAM con CloudWatchAgentServerPolicy adjunto, ejecute el siguiente comando.

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

Nota: Sustituya my-cluster-name por el nombre de su clúster. El comando anterior también configura la cuenta de servicio del agente para que utilice OIDC para asumir el rol.

Instalación del complemento

Para instalar el complemento, utilice la consola de Amazon EKS o la AWS CLI.

Consola Amazon EKS

Siga estos pasos:

  1. Abra la consola de Amazon EKS.
  2. En el panel de navegación, seleccione Clústeres.
  3. Elija el nombre de su clúster y, a continuación, elija la pestaña Complementos.
  4. Seleccione Obtener más complementos y, a continuación, seleccione Seleccionar complementos.
  5. En la sección Complementos de Amazon EKS, seleccione Observabilidad de Amazon CloudWatch y, a continuación, elija Siguiente.
  6. En la página Configuración de los ajustes de los complementos seleccionados, seleccione la versión que quiere usar.
  7. En Seleccionar rol de IAM, seleccione AmazonCloudWatchObservabilityRole y, a continuación, elija Siguiente.
  8. En la página Revisar y agregar, seleccione Crear.

AWS CLI

Para instalar el complemento, ejecute el siguiente comando create-addon:

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

Nota: Sustituya my-cluster-name por el nombre de su clúster y Account-ID por el ID de su cuenta de AWS.

Una vez finalizada la instalación, Amazon EKS crea un espacio de nombres amazon-cloudwatch en su clúster. El agente de CloudWatch y los pods de Fluent Bit también están activos en su clúster.

Para ver los pods activos, ejecute el siguiente comando:

kubectl get pods -n amazon-cloudwatch

Resultado de ejemplo:

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

Despliegue de una aplicación de muestra

Si no tiene cargas de trabajo en su clúster de las que recopilar métricas, despliegue el siguiente ejemplo de carga de trabajo:

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

Utilice la carga de trabajo anterior para comprobar que CloudWatch recopila correctamente las métricas.

Supervisión de los clústeres en la consola de CloudWatch

Tras instalar Información de contenedores, consulte sus métricas en la consola de CloudWatch.

También puede usar el registro de AWS Fargate en sus clústeres.

Información relacionada

Registro y supervisión en Amazon EKS

OFICIAL DE AWSActualizada hace un año