Acceso a un cluster mediante el faro
Descubra cómo utilizar el faro para ver y gestionar los clusters que ha creado con Kubernetes Engine (OKE).
Headlamp es una interfaz de usuario de código abierto de Kubernetes que puede utilizar para inspeccionar cargas de trabajo, ver logs y eventos, editar recursos, solucionar problemas de aplicaciones y realizar operaciones permitidas por los permisos de Kubernetes RBAC. Puede ejecutar Headlamp como aplicación de escritorio o desplegarlo en un cluster de Kubernetes.
El proyecto ascendente de Kubernetes recomienda Headlamp como reemplazo para el panel de control de Kubernetes. El proyecto del panel de control de Kubernetes se ha archivado y ya no se mantiene. Headlamp proporciona flujos de trabajo de gestión de clusters similares, así como compatibilidad con varios clusters, extensibilidad y opciones de despliegue de escritorio y en cluster. Para obtener más información, consulte Del panel de control de Kubernetes al faro: descripción de la transición.
Elija cómo ejecutar el faro en función de cómo desea acceder a los clusters:
- Para administradores y desarrolladores individuales, utilice Headlamp Desktop. El escritorio de faros se ejecuta en la estación de trabajo y se conecta a clusters mediante el archivo kubeconfig de Kubernetes. No es necesario desplegar los componentes del faro en cada cluster.
- Para una interfaz basada en explorador compartida, despliegue el faro en un cluster. El proyecto Headlamp proporciona un gráfico de Helm para despliegues en cluster.
En ambos casos, la autenticación de Kubernetes y el RBAC determinan qué recursos pueden ver los usuarios y qué operaciones pueden realizar.
Uso del escritorio de faros
Utilice Headlamp Desktop cuando desee acceder a uno o más clusters desde una estación de trabajo sin desplegar Headlamp en los clusters.
Para utilizar Headlamp Desktop para acceder a un cluster:
-
Si todavía no lo ha hecho, siga los pasos para configurar el archivo de configuración kubeconfig del cluster y (si es necesario) defina la variable de entorno KUBECONFIG para que apunte al archivo. Tenga en cuenta que debe configurar su propio archivo kubeconfig. No puede acceder a un cluster utilizando un archivo kubeconfig que haya configurado un usuario diferente. Consulte Configuración del acceso a los clusters.
-
Verifique que el archivo kubeconfig contiene el contexto de Kubernetes para el cluster al que desea acceder introduciendo:
kubectl config get-contexts -
Instale el escritorio de faros siguiendo las instrucciones del sistema operativo en la documentación del escritorio de faros.
Por ejemplo, en macOS, puede instalar Headlamp Desktop con Homebrew introduciendo:
brew install --cask headlamp - Inicie el escritorio del faro.
- Seleccione el cluster o el contexto de Kubernetes al que desea acceder.
- Complete la autenticación si se le solicita.
El faro muestra los recursos de Kubernetes a los que la identidad del archivo kubeconfig tiene autorización para acceder. Las operaciones disponibles en el faro dependen de los permisos de RBAC de Kubernetes otorgados a esa identidad.
Debido a que Headlamp Desktop se ejecuta en la estación de trabajo, no consume recursos de nodos de trabajador y no está sujeto a restricciones de carga de trabajo de nodos virtuales.
Instalación del faro en el cluster
Despliegue el faro en un cluster cuando desee proporcionar una interfaz compartida basada en explorador.
Antes de instalar el faro, asegúrese de que:
- Ha configurado el acceso al cluster. Puede verificar el acceso introduciendo
kubectl get nodes. Consulte Configuración del acceso a los clusters. - Helm está instalado y disponible en su entorno. Puede verificar la instalación introduciendo
helm version. - Su identidad de Kubernetes tiene permisos suficientes para crear los recursos en el gráfico de Helm de faro.
Para instalar el faro con Helm:
-
Agregue el repositorio de Helm del faro introduciendo:
helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/helm repo update -
Cree un espacio de nombres para el faro introduciendo:
kubectl create namespace headlamp -
Instale el faro introduciendo:
helm install headlamp headlamp/headlamp --namespace headlamp -
Verifique la instalación:
kubectl get deployment,pods,service -n headlampEspere hasta que la cápsula del faro esté en funcionamiento y lista.
Autenticación en una implementación de faros en cluster
El faro utiliza la autenticación de Kubernetes y RBAC para determinar a qué recursos de cluster pueden acceder los usuarios.
Para autenticarse en el despliegue del faro instalado mediante el gráfico de Helm:
-
Verifique la cuenta de servicio del faro introduciendo:
kubectl get serviceaccount headlamp -n headlamp -
Verifique ClusterRoleBinding introduciendo:
kubectl get clusterrolebinding headlamp-admin -o yamlImportante
Por defecto, el gráfico de Helm de faro crea un ClusterRoleBinding
headlamp-adminque otorga el rolcluster-admina la cuenta de servicioheadlamp. El rolcluster-adminproporciona acceso sin restricciones al cluster. Para uso de producción, otorgue solo los permisos necesarios para su entorno. -
Cree un token temporal para la cuenta de servicio Headlamp introduciendo:
kubectl create token headlamp -n headlamp -
Copie el token de la salida del comando. Este token se introduce al acceder al faro.
Para despliegues compartidos, considere la posibilidad de configurar la autenticación de OpenID Connect (OIDC) en lugar de distribuir tokens de cuenta de servicio. Consulte la documentación de Faro en cluster.
Acceso a una implementación de faros en el cluster
Para el acceso administrativo local, puede utilizar kubectl port-forward para acceder al servicio Headlamp.
-
Adelante el puerto local 8080 al servicio de faros introduciendo:
kubectl port-forward -n headlamp service/headlamp 8080:80 -
Abra un explorador y vaya a:
http://localhost:8080 - Cuando se le solicite, introduzca el token de autenticación que creó anteriormente.
El comando kubectl port-forward no está soportado para pods que se ejecutan en nodos virtuales. Si el pod de faros se ejecuta en un nodo virtual, exponga el faro mediante una entrada u otro método de acceso admitido por su entorno.
Para el acceso de producción compartido, configure la entrada, TLS y un mecanismo de autenticación adecuado en lugar de depender del reenvío del puerto. Consulte la documentación de faros en cluster.
Uso de faros con nodos virtuales
Puede utilizar el faro con clusters que contienen pools de nodos virtuales.
- Headlamp Desktop se ejecuta fuera del cluster y no está sujeto a restricciones de carga de trabajo de nodos virtuales. Las cargas de trabajo que inspeccione o gestione seguirán sujetas a las capacidades y limitaciones del tipo de nodo en el que se ejecutan.
- Un despliegue de faros en cluster se ejecuta como pods de Kubernetes. Si los pods de faros están programados en nodos virtuales, los pods están sujetos a las mismas restricciones de recursos, almacenamiento, red y función de Kubernetes que otras cargas de trabajo que se ejecutan en nodos virtuales.
En particular, kubectl port-forward no está soportado para pods en nodos virtuales. Consulte Comparación de nodos virtuales con nodos gestionados y Recursos asignados a pods aprovisionados por nodos virtuales.
Verificación del acceso al faro
Después de conectarse al cluster con el faro:
- Seleccione el cluster.
- Seleccionar un espacio de nombres.
- Abra Cargas de trabajo.
- Seleccione Despliegues o Pods.
- Seleccione un recurso para ver sus detalles, eventos, logs y recursos relacionados.
Los recursos y las operaciones que se muestran dependen de los permisos de RBAC de Kubernetes otorgados a la identidad que utilizó para acceder al cluster.
Si el servidor de métricas de Kubernetes está instalado en el cluster, el faro también puede mostrar información de uso de recursos. Para obtener más información sobre el servidor de métricas de Kubernetes, consulte Despliegue del servidor de métricas de Kubernetes en un cluster.
Eliminación de una implementación de faros en el cluster
Para eliminar el despliegue del faro creado en este tema:
-
Desinstale la versión de Helm del faro introduciendo:
helm uninstall headlamp -n headlamp -
Suprima el espacio de nombres del faro introduciendo:
kubectl delete namespace headlamp
La eliminación del escritorio de faros de la estación de trabajo no modifica los clusters a los que ha accedido con él.