La estación de trabajo de administrador aloja las herramientas de la interfaz de línea de comandos (CLI) y archivos de configuración para aprovisionar clústeres durante la instalación, así como las herramientas de la CLI con el fin de interactuar con los clústeres aprovisionados después de la instalación.
Descarga y ejecuta herramientas, como bmctl
y Google Cloud CLI, en la estación de trabajo de administrador para interactuar con clústeres y recursos de Google Cloud. La estación de trabajo de administrador aloja archivos de configuración para aprovisionar clústeres durante la instalación, las actualizaciones y las actualizaciones. Después de la instalación, la estación de trabajo de administrador aloja los archivos kubeconfig
para que puedas usar kubectl
a fin de interactuar con los clústeres aprovisionados. También puedes acceder a los registros de las operaciones críticas del clúster en la estación de trabajo de administrador. Se puede usar una sola estación de trabajo de administrador para crear y administrar muchos clústeres.
Asegúrate de que la estación de trabajo de administrador cumpla con los requisitos previos que se describen en las siguientes secciones.
Sistema operativo y software
Para ejecutar bmctl
y funcionar como un nodo del plano de control, la estación de trabajo de administrador tiene los mismos requisitos de sistema operativo (SO) que los nodos. La estación de trabajo de administrador requiere Docker, pero no se usa como entorno de ejecución de contenedores. Cuando GKE en Bare Metal crea clústeres, implementa un clúster de Kubernetes en Docker (tipo) en la estación de trabajo de administrador. Este clúster de arranque aloja los controladores de Kubernetes necesarios para crear clústeres. A menos que especifiques lo contrario, el clúster de arranque se quita cuando la creación del clúster se completa de forma correcta. El clúster de arranque requiere Docker para extraer imágenes de contenedor.
La estación de trabajo de administrador debe cumplir con los siguientes requisitos antes de que puedas instalar un clúster:
El sistema operativo es una distribución compatible con Linux.
Para obtener una lista de los SO y las versiones de Linux compatibles, consulta Selecciona tu sistema operativo. Esa página tiene vínculos a las instrucciones de configuración, incluida la configuración de Docker, para cada SO.
Tener instalada la versión 19.03 o posterior de Docker. Sin embargo, si tu sistema usa cgroup v2, la instalación de Docker en la estación de trabajo de administrador debe ser 20.10.0 o superior. (puedes saber si tu sistema usa cgroup v2 por la presencia del archivo
/sys/fs/cgroup/cgroup.controllers
). cgroup v2 solo es compatible como función de Preview. No recomendamos el uso de las funciones y capacidades de la versión preliminar en entornos de producción.El usuario no raíz es miembro del grupo
docker
(para obtener instrucciones, consulta Administra Docker como usuario no raíz).Google Cloud CLI está instalado.
Usa las herramientas de
kubectl
ybmctl
para crear y administrar clústeres. Para instalar estas herramientas, necesitas las herramientasgcloud
ygsutil
. Las herramientas de línea de comandosgcloud
,gsutil
ykubectl
son componentes de gcloud CLI. Si quieres obtener instrucciones de instalación, incluidas las instrucciones para instalar los componentes, consulta Instala la CLI de gcloud.Se instaló
kubectl
. Usa gcloud CLI para instalarkubectl
con el siguiente comando:gcloud components install kubectl
bmctl
está instalado para la versión del clúster que estás creando u operas.La instalación consiste en usar
gsutil
para descargar el paquete de imágenes o objetos binariosbmctl
. Para obtener instrucciones, consulta Descargas de clústeres de Anthos alojados en Bare Metal.
Requisitos de recursos de hardware
La estación de trabajo de administrador requiere una potencia de procesamiento, memoria y almacenamiento significativos para ejecutar herramientas y almacenar los recursos asociados con la creación y administración de clústeres.
De forma predeterminada, las operaciones de actualización y creación del clúster usan un clúster de arranque. Cuando se usa un clúster de arranque, hay un aumento significativo en el uso de CPU y memoria. Si pretendes usar la estación de trabajo de administrador como un nodo del plano de control, usa, como mínimo, la cantidad máxima recomendada de CPU y RAM para evitar que las actividades de la estación de trabajo de administrador interrumpan las funciones del plano de control del clúster.
Según el tamaño de la base de datos de etcd y la cantidad de nodos del plano de control, las operaciones de copia de seguridad y restablecimiento del clúster consumen una memoria RAM significativa. La estimación aproximada de la RAM necesaria para las copias de seguridad es de 3 a 5 GiB por nodo del plano de control. El proceso de copia de seguridad falla porque no hay suficiente memoria. Planifica los requisitos de RAM en consecuencia.
En la siguiente tabla, se proporcionan los requisitos de hardware mínimos y recomendados para la estación de trabajo de administrador:
Recurso | Mínimo | Recomendado |
---|---|---|
CPU / CPU virtuales* | 2 núcleos | 4 núcleos |
RAM | Ubuntu: 4 GiB CentOS/RHEL: 6 GiB |
Ubuntu: 8 GiB CentOS/RHEL: 12 GiB |
Almacenamiento | 128 GiB | 256 GiB |
* GKE en Bare Metal solo admite CPU x86-64 y CPU virtuales en el nivel de microarquitectura de CPU v3 (x86-64-v3) y superior.
Requisitos de Herramientas de redes
La estación de trabajo de administrador necesita acceso a Google Cloud y a todos los nodos del clúster.
Acceso a Google Cloud
La estación de trabajo de administrador accede a Google Cloud para descargar e instalar imágenes y herramientas, procesar solicitudes de autorización, crear cuentas de servicio, administrar el registro y la supervisión, y mucho más. No puedes crear clústeres sin acceso a Google Cloud.
El acceso a Google Cloud puede ser directo o a través de un servidor proxy. Para obtener información sobre las diferentes formas de conectarse a Google Cloud, consulta Conéctate a Google. Para obtener información sobre cómo configurar un servidor proxy, consulta Cómo instalar detrás de un proxy.
Para obtener información sobre las consecuencias de la interrupción del acceso a Google Cloud, consulta Impacto de la desconexión temporal de Google Cloud.
Acceso a los nodos
Para crear y administrar clústeres desde la estación de trabajo de administrador, necesitas el siguiente acceso a las máquinas del nodo:
- Conectividad de capa 3 a todas las máquinas de nodo del clúster.
- Acceso
root
sin contraseña a todas las máquinas de nodo del clúster a través de SSH. El acceso SSH puede ser directo o a través desudo
. - Acceso a la VIP del plano de control.
Reenvío de IP
El reenvío de IP debe estar habilitado en la estación de trabajo del administrador. Sin el reenvío de IP, no se puede crear el clúster de arranque, lo que bloquea su creación. Si el reenvío de IP está inhabilitado, verás un error como el siguiente cuando intentes crear un clúster:
Error message: E0202 14:53:25.979322 225917 console.go:110] Error creating cluster: create kind cluster failed: error creating bootstrap cluster: failed to init node with kubeadm: command "docker exec --privileged bmctl-control-plane kubeadm init --skip-phases=preflight --config=/kind/kubeadm.conf --skip-token-print --v=6" failed with error: exit status 1
Puedes verificar la configuración de reenvío de IP con el siguiente comando:
cat /proc/sys/net/ipv4/ip_forward
Un valor de 1
indica que el reenvío de IP está habilitado. Si el reenvío de IP está inhabilitado (0
), usa el siguiente comando para habilitarlo:
echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward
Configurar el acceso SSH de root
a los nodos
Para habilitar conexiones seguras y sin contraseña entre la estación de trabajo de administrador y las máquinas de nodos del clúster, crea una clave SSH en tu estación de trabajo de administrador y comparte la clave pública con los nodos del clúster.
Para habilitar la autenticación con contraseña SSH
root
en cada máquina de nodo del clúster, quita los comentarios o agrega las líneasPermitRootLogin
yPasswordAuthentication
en el archivo/etc/ssh/sshd_config
y configura los valores comoyes
.# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. ... # Authentication: #LoginGraceTime 2m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 ... PasswordAuthentication yes
Inicialmente, necesitas que la autenticación con contraseña SSH esté habilitada en las máquinas del nodo del clúster remoto para compartir claves desde la estación de trabajo de administrador.
Para aplicar los cambios de configuración de SSH, reinicia el servicio de SSH:
sudo systemctl restart ssh.service
Genera un par de claves públicas/privadas en la estación de trabajo de administrador. No establezcas una frase de contraseña para las claves. Genera las claves con el siguiente comando:
ssh-keygen -t rsa
También puedes usar el acceso de usuario de
sudo
a las máquinas del nodo del clúster para configurar SSH. Sin embargo, para conexiones de usuario no raíz sin contraseña, debes actualizar el archivo de configuración del clúster con el campospec.nodeAccess.loginUser
. Este campo está comentado de forma predeterminada. Puedes especificar tu nombre de usuario no raíz conloginUser
durante la creación del clúster o en cualquier momento posterior. Para obtener más información, consultaloginUser
.Agrega la clave pública generada a las máquinas del nodo del clúster:
ssh-copy-id -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
Reemplaza lo siguiente:
PATH_TO_IDENTITY_FILE
: Es la ruta de acceso al archivo que contiene la clave pública SSH. De forma predeterminada, la ruta de acceso al archivo de identidad que contiene la clave pública es/home/USERNAME/.ssh/id_rsa.pub
.CLUSTER_NODE_IP
: Es la dirección IP de la máquina de nodos a la que agregas la clave pública SSH.
Para inhabilitar la autenticación con contraseña SSH en las máquinas del nodo del clúster, configura
PasswordAuthentication
comono
en el archivosshd_config
y reinicia el servicio SSH.Usa el siguiente comando en la estación de trabajo de administrador para verificar que la autenticación de clave pública funcione entre la estación de trabajo y las máquinas del nodo.
ssh -o IdentitiesOnly=yes -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
Cuando SSH está configurado de forma correcta, puedes acceder a la máquina de nodos desde la estación de trabajo de administrador (como
root
) sin tener que ingresar una contraseña.