Descripción general de los requisitos previos de instalación

Los clústeres de Anthos en equipos físicos tienen los siguientes conjuntos de requisitos de instalación:

Si usas la máquina de la estación de trabajo como una máquina de nodo del clúster, esta debe cumplir con los requisitos previos para ambas.

Antes de comenzar

Durante la instalación, debes proporcionar las siguientes credenciales:

  • Las claves SSH privadas necesarias para acceder a las máquinas de nodo del clúster
  • Si no usas root, el nombre de acceso de la máquina del nodo del clúster
  • Las claves de la cuenta de servicio de Google Cloud. Consulta Crea y administra claves de cuentas de servicio para obtener más información

Asegúrate de tener todas las credenciales necesarias antes de instalar clústeres de Anthos en un equipo físico.

Accede a gcloud

  1. Accede a gcloud como un usuario con el acceso gcloud auth application-default.
  2. gcloud auth application-default login
    
    Debes tener una función de editor o propietario de proyecto para usar las funciones de habilitación automática de la API y de creación de cuentas de servicio, que se describen a continuación. También puedes agregar las siguientes funciones de IAM al usuario:
    • Administrador de cuenta de servicio
    • Administrador de clave de cuenta de servicio
    • Administrador de IAM de proyecto
    • Lector de Compute
    • Administrador de Service Usage
    De manera alternativa, si ya tienes una cuenta de servicio con esas funciones, ejecuta el siguiente comando:
    export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
    
    JSON_KEY_FILE especifica la ruta al archivo de claves JSON de tu cuenta de servicio.
  3. Obtén tu ID del proyecto de Google Cloud para usarlo con la creación del clúster:
  4. export CLOUD_PROJECT_ID=$(gcloud config get-value project)
    

Requisitos previos de las estaciones de trabajo

La estación de trabajo de bmctl debe cumplir con los siguientes requisitos previos:

  • El sistema operativo es la misma distribución compatible de Linux que se ejecuta en las máquinas de nodo del clúster.
  • La versión de Docker 19.03 o posterior está instalada.
  • El usuario no raíz es miembro del grupo docker (para obtener instrucciones, consulta Administra Docker como usuario no raíz).
  • gcloud instalado.
  • Debe haber más de 50 GiB de espacio libre en el disco.
  • Conectividad de capa 3 a todas las máquinas de nodo del clúster.
  • Tiene acceso a todas las máquinas de nodos de clúster mediante SSH a través de claves privadas con acceso raíz sin contraseña. El acceso puede ser directo o a través de sudo.
  • Accede a la VIP del plano de control.

Requisitos previos de la máquina de nodo

Las máquinas de nodo tienen los siguientes requisitos previos:

  • Su sistema operativo es una de las distribuciones de Linux compatibles.
  • La versión de kernel de Linux es 4.17.0 o una versión posterior. Ubuntu 18.04 y 18.04.1 están en la versión 4.15 de kernel de Linux y, por lo tanto, no son compatibles.
  • Debe cumplir con los requisitos mínimos de hardware.
  • Acceso a Internet.
  • Conectividad de capa 3 a todas las demás máquinas de nodo.
  • Accede a la VIP del plano de control.
  • Servidores de nombres DNS configurados correctamente.
  • No hay nombres de host duplicados.
  • Uno de los siguientes servicios NTP está habilitado y funciona:
    • chrony
    • ntp
    • ntpdate
    • systemd-timesyncd
  • Un administrador de paquetes en funcionamiento: apt, dnf, etcétera.
  • En Ubuntu, debes inhabilitar el firewall sin complicaciones (UFW). Ejecuta systemctl stop ufw para inhabilitar UFW.
  • En Ubuntu y a partir de los clústeres de Anthos en equipos físicos 1.8.2, no es necesario que inhabilites AppArmor. Si implementas clústeres con versiones anteriores de clústeres de Anthos en equipos físicos, inhabilita AppArmor con el siguiente comando: systemctl stop apparmor.
  • Si eliges Docker como tu entorno de ejecución de contenedores, puedes usar la versión 19.03 de Docker o una posterior. Si no tienes Docker instalado en tus máquinas de nodos o tienes una versión anterior instalada, Anthos en equipos físicos instala Docker 19.03.13 o versiones posteriores cuando creas clústeres.
  • Si usas el entorno de ejecución del contenedor predeterminado, containerd, no necesitas Docker, y su instalación puede causar problemas. Para obtener más información, consulta los problemas conocidos.
  • Asegúrate de que los sistemas de archivos que respaldan los siguientes directorios tengan la capacidad necesaria y cumplan con los siguientes requisitos cada vez que instales o vuelvas a instalar clústeres de Anthos en equipos físicos:

    • El uso del espacio total del disco se encuentra por debajo del 90%.
    • Los directorios tienen al menos 128 GiB de capacidad de almacenamiento gratuita.

      La instalación crea los siguientes directorios si es necesario:

      • /var/lib/docker o /var/lib/containerd, según el entorno de ejecución del contenedor: 30 GiB (32,212,254,720 bytes)
      • /var/lib/kubelet: 10 GiB (10,737,418,240 bytes)
      • /mnt/anthos-system: 25 GiB (26,843,545,600 bytes)
      • /: 20 GiB (21,474,836,480 bytes)
      • /var/lib/etcd: 20 GiB (21,474,836,480 bytes, aplicable solo a los nodos del plano de control)
  • Los directorios /var/lib/etcd y /etc/kubernetes no existen o están vacíos.

  • Puedes crear los directorios en la misma partición o sistema de archivos. Para obtener más información, consulta nuestros requisitos de hardware. Los requisitos de almacenamiento individual anteriores se aplican si los directorios se encuentran en diferentes particiones o sistemas de archivos.

Además de los requisitos previos para instalar y ejecutar clústeres de Anthos en equipos físicos, se espera que los clientes satisfagan los estándares relevantes que rigen su segmento de la industria o el negocio, como los requisitos de PCI DSS para empresas que procesan tarjetas de crédito, o las guías de implementación técnica (STIG) para empresas en la industria de la defensa.

Requisitos previos de las máquinas del balanceador de cargas

Cuando tu implementación no tiene un grupo de nodos de balanceador de cargas especializado, puedes hacer que los nodos trabajadores o los nodos del plano de control compilen un grupo de nodos del balanceador de cargas. En ese caso, tienen requisitos previos adicionales, como los siguientes:

  • Las máquinas están en la misma subred de capa 2.
  • Todos los VIP están en la subred de nodos del balanceador de cargas y se pueden enrutar desde la puerta de enlace de la subred.
  • La puerta de enlace de la subred del balanceador de cargas debe detectar los ARP injustificados para reenviar paquetes al balanceador de cargas principal.

Requisitos previos del proyecto de Google Cloud

Antes de instalar clústeres de Anthos en un equipo físico, habilita los siguientes servicios para tu proyecto de GCP asociado:

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • iam.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com

También puedes usar la herramienta bmctl para habilitar estos servicios.

Requisitos previos de cuentas de servicio

En entornos de producción, debes crear cuentas de servicio independientes para diferentes propósitos. Los clústeres de Anthos alojados en Bare Metal necesitan los siguientes tipos de cuentas de servicio de Google Cloud, según su propósito:

  • Para acceder a Container Registry (gcr.io), no se necesita un rol especial.
  • Para registrar un clúster en una flota, otorga el rol de IAM roles/gkehub.admin a la cuenta de servicio en tu proyecto de Google Cloud.
  • Para conectarte a flotas, otorga el rol de IAM roles/gkehub.connect a la cuenta de servicio de tu proyecto de Google Cloud.
  • Para enviar registros y métricas al conjunto de operaciones de Google Cloud, otorga los siguientes roles de IAM a la cuenta de servicio de tu proyecto de Google Cloud:

    • roles/logging.logWriter
    • roles/monitoring.metricWriter
    • roles/stackdriver.resourceMetadata.writer
    • roles/monitoring.dashboardEditor
    • roles/opsconfigmonitoring.resourceMetadata.writer

También puedes usar la herramienta bmctl para crear estas cuentas de servicio.