Acceso al panel de Kubernetes en Azure Stack Hub
Nota
Use únicamente el elemento Kubernetes de Marketplace de Azure Stack para implementar clústeres como prueba de concepto. Para los clústeres de Kubernetes admitidos en Azure Stack, utilice el motor de AKS.
Kubernetes incluye un panel web que se puede usar para operaciones básicas de administración. Este panel le permite ver el estado de mantenimiento básico y las métricas para sus aplicaciones, crear e implementar servicios, y modificar las aplicaciones existentes. En este artículo se explica cómo configurar el panel de Kubernetes en Azure Stack Hub.
Requisitos previos para el panel de Kubernetes
Clúster de Kubernetes en Azure Stack Hub
Debe haber implementado un clúster de Kubernetes en Azure Stack Hub. Para más información, vea Implementación de Kubernetes.
Cliente SSH
Necesitará un cliente SSH para conectarse con seguridad al nodo del plano de control del clúster. Si usa Windows, puede usar Putty. Necesitará la clave privada utilizada cuando implementó el clúster de Kubernetes.
FTP (PSCP)
Puede que también necesite un cliente FTP que sea compatible con el protocolo de transferencia de archivos SSH y SSH para transferir los certificados desde el nodo del plano de control a su equipo de administración de Azure Stack Hub. Puede usar FileZilla. Necesitará la clave privada utilizada cuando implementó el clúster de Kubernetes.
Información general de los pasos para habilitar el panel
- Exporte los certificados de Kubernetes del nodo del plano de control del clúster.
- Importe los certificados en la máquina de administración de Azure Stack Hub.
- Abra el panel web de Kubernetes.
Exportación del certificado desde el nodo principal
Puede recuperar la dirección URL para el panel desde el nodo del plano de control del clúster.
Obtenga la dirección IP pública y el nombre de usuario para el nodo principal del clúster desde el panel de Azure Stack Hub. Para obtener esta información:
- Inicie sesión en el portal de Azure Stack Hub
https://portal.local.azurestack.external/
. - Seleccione Todos los servicios>Todos los recursos. Busque el nodo principal en el grupo de recursos de clúster. El nodo principal se denomina
k8s-master-<sequence-of-numbers>
.
- Inicie sesión en el portal de Azure Stack Hub
Abra el nodo del plano de control en el portal. Copie la dirección IP pública. Haga clic en Conectar para obtener el nombre de usuario en el cuadro Iniciar sesión con la cuenta local de VM. Este es el mismo nombre de usuario que se establece al crear el clúster. Utilice la dirección IP pública en lugar de la dirección IP privada que se muestra en la hoja de conexión.
Abra un cliente de SSH para conectarse al nodo principal. Si está trabajando en Windows, puede usar Putty para crear la conexión. Utilizará la dirección IP pública para el nodo del plano de control y el nombre de usuario y agregará la clave privada que utilizó al crear el clúster.
Cuando se conecte el terminal, escriba
kubectl
para abrir el cliente de la línea de comandos de Kubernetes.Ejecute el siguiente comando:
kubectl cluster-info
Busque la dirección URL para el panel. Por ejemplo:
https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
Extraiga el certificado autofirmado y conviértalo al formato PFX. Ejecute el siguiente comando:
sudo su openssl pkcs12 -export -out /etc/kubernetes/certs/client.pfx -inkey /etc/kubernetes/certs/client.key -in /etc/kubernetes/certs/client.crt -certfile /etc/kubernetes/certs/ca.crt
Obtenga la lista de secretos del espacio de nombres kube-system. Ejecute el siguiente comando:
kubectl -n kube-system get secrets
Tome nota del valor kubernetes-dashboard-token-<XXXXX>.
Obtenga el token y guárdelo. Actualice
kubernetes-dashboard-token-<####>
con el valor del secreto del paso anterior.kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}'
Importación del certificado
Abra Filezilla y conéctese al nodo del plano de control. Necesitará:
- la dirección IP pública del nodo del plano de control
- el nombre de usuario
- el secreto privado
- Usar el protocolo de transferencia de archivos SFTP - SSH
Copie
/etc/kubernetes/certs/client.pfx
y/etc/kubernetes/certs/ca.crt
en el equipo de administración de Azure Stack Hub.Tome nota de las ubicaciones del archivo. Actualice el script con las ubicaciones y, a continuación, abra PowerShell mediante un símbolo del sistema con privilegios elevados. Ejecute el script actualizado:
Import-Certificate -Filepath "ca.crt" -CertStoreLocation cert:\LocalMachine\Root $pfxpwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below' Import-PfxCertificate -Filepath "client.pfx" -CertStoreLocation cert:\CurrentUser\My -Password $pfxpwd.Password
Apertura del panel de Kubernetes
Deshabilite el bloqueador de elementos emergentes en el explorador web.
Apunte el explorador a la dirección URL anotada cuando ejecutó el comando
kubectl cluster-info
. Por ejemplo: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxySeleccione el certificado de cliente.
Escriba el token.
Vuelva a conectarse a la línea de comandos Bash en el nodo del plano de control y conceda permisos a
kubernetes-dashboard
. Ejecute el siguiente comando:kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
El script otorga privilegios de administrador en la nube
kubernetes-dashboard
. Para más información, vea Para clústeres con RBAC habilitado.
Puede usar el panel. Para más información sobre el panel de Kubernetes, vea la información sobre el panel de la interfaz de usuario web de Kubernetes.
Solución de problemas
Redes virtuales personalizadas
Si experimenta problemas de conectividad al acceder al panel de Kubernetes después de implementar Kubernetes en una red virtual personalizada, asegúrese de que las subredes de destino están vinculadas a los recursos de la tabla de enrutamiento y del grupo de seguridad de red creados por el motor de AKS.
Asegúrese de que las reglas del grupo de seguridad de red permitan la comunicación entre los nodos del plano de control y la dirección IP del pod del panel de Kubernetes. Esto se puede confirmar mediante el comando ping desde un nodo del plano de control.
Pasos siguientes
Implementación de Kubernetes en Azure Stack Hub
Adición de un clúster de Kubernetes a Marketplace (para el operador de Azure Stack Hub)