Requisitos previos de la estación de trabajo de administrador

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 para interactuar con los clústeres aprovisionados después de la instalación.

Esta página está destinada a administradores, arquitectos y operadores que configuran, supervisan y administran el ciclo de vida de la infraestructura tecnológica subyacente. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido deGoogle Cloud , consulta Tareas y roles comunes de los usuarios de GKE Enterprise.

Descargas y ejecutas herramientas, como bmctl y Google Cloud CLI, en la estación de trabajo del administrador para interactuar con los clústeres y los 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 mejoras. Después de la instalación, la estación de trabajo de administrador almacena archivos kubeconfig para que puedas usar kubectl para 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 del administrador cumpla con los requisitos previos que se describen en las siguientes secciones.

Sistema operativo y software

Para ejecutar bmctl y trabajar como un nodo del plano de control, la estación de trabajo del administrador tiene los mismos requisitos del sistema operativo (SO) que los nodos. La estación de trabajo del administrador requiere Docker, pero no para usarlo como entorno de ejecución de contenedores. Cuando Google Distributed Cloud crea clústeres, implementa un clúster de Kubernetes en Docker (tipo) en la estación de trabajo del 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 correctamente. El clúster de arranque requiere que Docker extraiga imágenes de contenedores.

La estación de trabajo de administrador debe cumplir con los siguientes requisitos para que puedas instalar un clúster:

  • El sistema operativo es una distribución de Linux compatible.

    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 instrucciones de configuración, incluida la configuración de Docker, para cada SO.

  • La versión de Docker 19.03 o posterior está instalada. Sin embargo, si tu sistema usa cgroup v2, la instalación de Docker en tu estación de trabajo de administrador debe ser la versión 20.10.0 o una posterior. (Puedes saber si tu sistema usa cgroup v2 por la presencia del archivo /sys/fs/cgroup/cgroup.controllers).

  • 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á instalada.

    Usas las herramientas kubectl y bmctl para crear y administrar clústeres. Para instalar estas herramientas, necesitas la herramienta gcloud. Las herramientas de línea de comandos de gcloud y kubectl son componentes de gcloud CLI. Para obtener instrucciones de instalación, incluidas las instrucciones para instalar componentes, consulta Instala gcloud CLI.

  • Se instaló kubectl. Usa gcloud CLI para instalar kubectl con el siguiente comando:

    gcloud components install kubectl
    
  • bmctl se instala para la versión del clúster que creas o opera.

    La instalación consiste en usar gcloud para descargar el paquete binario o de imágenes de bmctl. Para obtener instrucciones, consulta Google Distributed Cloud para descargas de Bare Metal.

Requisitos de recursos de hardware

La estación de trabajo de administrador requiere una potencia de procesamiento, memoria y almacenamiento significativas 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 de clústeres usan un clúster de arranque. Cuando se usa un clúster de arranque, se produce un aumento significativo en el uso de la CPU y la memoria. Si deseas usar la estación de trabajo de administrador como un nodo del plano de control, usa no menos que la cantidad más alta y recomendada de CPUs 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 cantidad significativa de RAM. 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 tus requisitos de RAM según corresponda.

En la siguiente tabla, se proporcionan los requisitos mínimos y recomendados de hardware para la estación de trabajo de administrador:

Recurso Mínimo Recomendado
CPUs / vCPUs* 2 núcleos 4 núcleos
RAM Ubuntu: 4 GiB

RHEL: 6 GiB

Ubuntu: 8 GiB

RHEL: 12 GiB

Almacenamiento 128 GiB 256 GiB

* Google Distributed Cloud solo admite CPUs y CPUs virtuales x86-64 a nivel de microarquitectura de CPU v3 (x86-64-v3) y versiones posteriores.

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 del administrador accede a Google Cloud para descargar e instalar herramientas y imágenes, 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 aGoogle 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 conectarte a Google Cloud, consulta Conéctate a Google. Si deseas obtener información para configurar un servidor proxy, consulta Instala 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 tu estación de trabajo de administrador, necesitas el siguiente acceso a las máquinas de nodos:

  • Conectividad de capa 3 a todas las máquinas de nodo del clúster.
  • Acceso SSH sin contraseña a todas las máquinas de nodos del clúster como root o como un usuario no raíz con privilegios sudo sin contraseña Las herramientas de automatización requieren este nivel alto de permisos para realizar tareas a nivel del nodo que aprovisionan los nodos durante la instalación del clúster.

  • 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 la creación del clúster. 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

Configura 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 nodo del clúster, crea una clave de SSH en tu estación de trabajo de administrador y comparte la clave pública con los nodos del clúster.

  1. Para habilitar la autenticación de contraseña SSH de root en cada máquina del nodo del clúster, quita los comentarios o agrega las líneas PermitRootLogin y PasswordAuthentication en el archivo /etc/ssh/sshd_config y establece los valores en yes.

    # $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
    

    En un principio, necesitas la autenticación de contraseña de SSH habilitada en las máquinas de nodo del clúster remoto para compartir claves desde la estación de trabajo de administrador.

  2. Para aplicar los cambios de configuración de SSH, reinicia el servicio de SSH:

    sudo systemctl restart ssh.service
    
  3. Genera un par de claves públicas y privadas en la estación de trabajo de administrador. No configures 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 sudo a las máquinas de nodo del clúster para configurar SSH. Sin embargo, para las conexiones de usuario no raíz sin contraseña, debes actualizar el archivo de configuración del clúster con el campo spec.nodeAccess.loginUser. Este campo está comentado de forma predeterminada. Puedes especificar tu nombre de usuario que no sea raíz con loginUser durante la creación del clúster o en cualquier momento después. Para obtener más información, consulta loginUser.

  4. 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 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 del nodo a la que agregas la clave pública de SSH.
  5. Para inhabilitar la autenticación de contraseña de SSH en las máquinas de nodo del clúster, establece PasswordAuthentication en no en el archivo sshd_config y reinicia el servicio de SSH.

  6. 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 de nodo.

    ssh -o IdentitiesOnly=yes -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
    

    Cuando SSH está configurado correctamente, puedes acceder a la máquina del nodo desde la estación de trabajo del administrador (como root) sin tener que ingresar una contraseña.

¿Qué sigue?