Requisitos previos de la estación de trabajo de administrador

La estación de trabajo de administrador aloja herramientas de interfaz de línea de comandos (CLI) y archivos de configuración para aprovisionar clústeres durante la instalación, así como herramientas de CLI para interactuar con los clústeres aprovisionados después de la instalación.

Esta página está dirigida a administradores, arquitectos y operadores que configuran, monitorizan y gestionan el ciclo de vida de la infraestructura tecnológica subyacente. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas de usuario habituales de GKE.Google Cloud

Descarga y ejecuta herramientas, como bmctl y la CLI de Google Cloud, en la estación de trabajo del 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 del administrador aloja archivos kubeconfig para que puedas usar kubectl e interactuar con los clústeres aprovisionados. También puedes acceder a los registros de operaciones de clúster críticas en la estación de trabajo del administrador. Una sola estación de trabajo de administrador se puede usar para crear y gestionar muchos clústeres.

Asegúrate de que la estación de trabajo del administrador cumpla los requisitos previos que se describen en las siguientes secciones.

Sistema operativo y software

Para ejecutar bmctl y funcionar como un nodo de plano de control, la estación de trabajo del administrador tiene los mismos requisitos de sistema operativo que los nodos. La estación de trabajo del administrador requiere Docker, pero no para usarlo como tiempo de ejecución de contenedores. Cuando Google Distributed Cloud crea clústeres, despliega un clúster Kubernetes in Docker (kind) 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 elimina cuando se completa correctamente la creación del clúster. El clúster de arranque requiere Docker para extraer imágenes de contenedor.

La estación de trabajo del administrador debe cumplir los siguientes requisitos para poder instalar un clúster:

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

    Para ver una lista de los sistemas operativos Linux y las versiones compatibles, consulta Seleccionar sistema operativo. En esa página se incluyen enlaces a las instrucciones de configuración, incluida la configuración de Docker, para cada sistema operativo.

  • Tener instalada la versión 19.03 de Docker o una posterior. 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 que no es root es miembro del grupo docker (para obtener instrucciones, consulta Gestionar Docker como usuario que no es root).

  • Google Cloud CLI está instalada.

    Utiliza las herramientas kubectl y bmctl para crear y gestionar clústeres. Para instalar estas herramientas, necesitas la herramienta gcloud. Las herramientas de línea de comandos gcloud y kubectl son componentes de gcloud CLI. Para obtener instrucciones de instalación, incluidas las instrucciones para instalar componentes, consulta el artículo Instalar gcloud CLI.

  • kubectl se ha instalado. Usa gcloud CLI para instalar kubectl con el siguiente comando:

    gcloud components install kubectl
    
  • bmctl está instalado en la versión del clúster que estás creando o usando.

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

Requisitos de recursos de hardware

La estación de trabajo del administrador requiere una potencia de computación, una memoria y un almacenamiento significativos para ejecutar herramientas y almacenar los recursos asociados a la creación y la gestió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, el uso de CPU y memoria aumenta significativamente. Si tienes previsto usar la estación de trabajo de administrador como nodo del plano de control, utiliza al menos la cantidad 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.

En función del tamaño de la base de datos etcd y del número de nodos del plano de control, las operaciones de copia de seguridad y restauración del clúster consumen una cantidad considerable 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 en consecuencia.

En la siguiente tabla se indican los requisitos de hardware mínimos y recomendados 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 vCPUs x86-64 en el nivel de microarquitectura de CPU v3 (x86-64-v3) y versiones posteriores.

Requisitos de red

La estación de trabajo del 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 e imágenes, procesar solicitudes de autorización, crear cuentas de servicio, gestionar el registro y la monitorización, y 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 conectarse a Google Cloud, consulta Conectarse a Google. Para obtener información sobre cómo configurar un servidor proxy, consulta el artículo 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 gestionar clústeres desde tu estación de trabajo de administrador, necesitas lo siguiente: acceso a las máquinas de los nodos:

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

  • Acceso a la IP virtual del plano de control.

Reenvío de IP

El reenvío de IP debe estar habilitado en la estación de trabajo de administrador. Sin el reenvío de IP, no se puede crear el clúster de arranque, lo que impide 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 comprobar el ajuste de reenvío de IP con el siguiente comando:

cat /proc/sys/net/ipv4/ip_forward

El valor 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 root a los nodos

Para habilitar conexiones seguras sin contraseña entre la estación de trabajo del administrador y los equipos de los nodos del clúster, crea una clave SSH en la estación de trabajo del administrador y comparte la clave pública con los nodos del clúster.

  1. Habilita la autenticación con contraseña SSH en cada máquina de nodo del clúster. Para ello, descomenta o añade las líneas PermitRootLogin y PasswordAuthentication en el archivo /etc/ssh/sshd_config y asigna el valor yes.root

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

    Al principio, debes habilitar la autenticación con contraseña SSH en los equipos de los nodos del clúster remoto para compartir claves desde la estación de trabajo del administrador.

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

    sudo systemctl restart ssh.service
    
  3. Genera un par de claves privada y pública en la estación de trabajo de administrador. No definas una contraseña para las claves. Genera las claves con el siguiente comando:

    ssh-keygen -t rsa
    

    También puedes usar el sudoacceso de usuario a las máquinas de nodos del clúster para configurar SSH. Sin embargo, para las conexiones de usuarios sin acceso root 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 no 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. Añade la clave pública generada a las máquinas de los nodos del clúster:

    ssh-copy-id -i PATH_TO_IDENTITY_FILE root@CLUSTER_NODE_IP
    

    Haz los cambios siguientes:

    • PATH_TO_IDENTITY_FILE: la ruta 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: la dirección IP del equipo del nodo al que vas a añadir la clave pública SSH.
  5. Inhabilita la autenticación con contraseña SSH en las máquinas de los nodos del clúster configurando PasswordAuthentication como no en el archivo sshd_config y reiniciando el servicio SSH.

  6. Usa el siguiente comando en la estación de trabajo de administrador para verificar que la autenticación de clave pública funciona entre la estación de trabajo y los nodos.

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

    Cuando SSH está configurado correctamente, puedes iniciar sesión en el equipo del nodo desde la estación de trabajo del administrador (como root) sin tener que introducir una contraseña.

Siguientes pasos