Tutorial: Implementación del panel de Kubernetes (interfaz de usuario web) - Amazon EKS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Implementación del panel de Kubernetes (interfaz de usuario web)

Este tutorial le guiará en la implementación delPanel de KubernetesEn su clúster de Amazon EKS, incluidas las métricas de CPU y memoria. También le ayudará a crear una a cuenta de servicio de administrador de Amazon EKS que podrá utilizar para conectarse de forma segura al panel a fin de ver y controlar el clúster.


            Panel de Kubernetes

Prerequisites

Este tutorial se basa en los siguientes supuestos:

Paso 1: Implementación del panel de Kubernetes

  • Para regiones distintas de Pekín y Ningxia China, aplique el panel de control de Kubernetes.

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
  • Para la región de Pekín y Ningxia China, descargue, modifique y aplique los manifiestos de Calico a su clúster.

    1. Descargue el manifiesto del panel de Kubernetes con el siguiente comando.

      curl -o recommended.yaml https://raw.githubusercontent.com/kubernetes/dashboard/blob/master/aio/deploy/recommended.yaml
    2. Modifique los archivos de manifiesto.

      1. Vea el archivo o archivos de manifiesto que descargó y anote el nombre de la imagen. Descargue la imagen localmente con el siguiente comando.

        docker pull image:<tag>
      2. Etiquete la imagen que se va a insertar en un repositorio de Amazon Elastic Container Registry de en China con el siguiente comando.

        docker tag image:<tag> <aws_account_id>.dkr.ecr.<cn-north-1>.amazonaws.com.cn/image:<tag>
      3. Actualizar elrecommended.yamlpara hacer referencia a la URL de la imagen de Amazon ECR en tu región.

      4. Actualizar elrecommended.yamlpara hacer referencia al repositorio de imágenes de Amazon ECR en su región agregando lo siguiente a la especificación.

        registry: <aws_account_id>.dkr.ecr.<cn-north-1>.amazonaws.com.cn
      5. Aplique el manifiesto de Kubernetes Dashboard.

        kubectl apply -f recommended.yaml
    3. Aplique el manifiesto al clúster con el comando siguiente.

      kubectl apply -f recommended.yaml

Salida:

namespace/kubernetes-dashboard created serviceaccount/kubernetes-dashboard created service/kubernetes-dashboard created secret/kubernetes-dashboard-certs created secret/kubernetes-dashboard-csrf created secret/kubernetes-dashboard-key-holder created configmap/kubernetes-dashboard-settings created role.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created deployment.apps/kubernetes-dashboard created service/dashboard-metrics-scraper created deployment.apps/dashboard-metrics-scraper created

Paso 2: Creación de uneks-adminCuenta de servicio y enlace de rol de clúster

De forma predeterminada, el usuario del panel de Kubernetes tiene permisos limitados. En esta sección creará una cuenta de servicio eks-admin y un enlace de rol de clúster con los que poder conectarse de forma segura al panel con permisos de nivel de administrador. Para obtener más información, consulte Managing Service Accounts en la documentación de Kubernetes.

Para crear la cuenta de servicio eks-admin y el enlace de rol de clúster

importante

La cuenta de servicio de ejemplo creada con este procedimiento tiene todos los privilegios de cluster-admin (superusuario) para el clúster. Para obtener más información, consulte cómo usar la autorización RBAC en la documentación de Kubernetes.

  1. Cree un archivo llamado eks-admin-service-account.yaml con el siguiente texto. Este manifiesto define una cuenta de servicio y un enlace de rol de clúster llamado eks-admin.

    apiVersion: v1 kind: ServiceAccount metadata: name: eks-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: eks-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: eks-admin namespace: kube-system
  2. Aplique la cuenta de servicio y el enlace de rol de clúster al clúster:

    kubectl apply -f eks-admin-service-account.yaml

    Salida:

    serviceaccount "eks-admin" created clusterrolebinding.rbac.authorization.k8s.io "eks-admin" created

Paso 3: Connect con el panel

Ahora que el panel de Kubernetes ya está implementado en el clúster y dispone de una cuenta de servicio administrativa que le permite ver y controlar el clúster, puede conectarse al panel utilizando esa cuenta de servicio.

Para conectarse al panel de Kubernetes

  1. Obtenga un token de autenticación para la cuenta de servicio eks-admin. Copie la<authentication_token>Valor del resultado. Con este token podrá conectarse al panel.

    kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')

    Salida:

    Name: eks-admin-token-b5zv4 Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name=eks-admin kubernetes.io/service-account.uid=bcfe66ac-39be-11e8-97e8-026dce96b6e8 Type: kubernetes.io/service-account-token Data ==== ca.crt: 1025 bytes namespace: 11 bytes token: <authentication_token>
  2. Inicie lakubectl proxy.

    kubectl proxy
  3. Para obtener acceso al punto de enlace del panel, abra el enlace siguiente con un navegador web: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#!/login.

  4. SeleccionarToken, pegue la<authentication_token>del comando anterior en elTokeny elijaINICIE SESIÓN.

    
                        Token de autenticación de Kubernetes
    nota

    Pueden pasar algunos minutos antes de que aparezcan las métricas de CPU y memoria en el panel.

Paso 4: Pasos siguientes

Una vez conectado al panel de Kubernetes, podrá ver y controlar el clúster con su cuenta del servicio eks-admin. Para obtener más información sobre cómo usar el panel, consulte la documentación de proyecto en GitHub.