Los clústeres de Anthos en equipos físicos tienen los siguientes conjuntos de requisitos de instalación:
- Los requisitos para la máquina de la estación de trabajo que ejecuta la herramienta de
bmctl
. - Los requisitos para las máquinas de nodo que forman parte de la implementación de clústeres de Anthos en equipos físicos
- Los requisitos previos para las máquinas del balanceador de cargas
- Los requisitos previos para el proyecto de Google Cloud
- Los requisitos previos para tus cuentas de servicio
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
- Accede a gcloud como un usuario con el acceso
gcloud auth application-default
. - Administrador de cuenta de servicio
- Administrador de clave de cuenta de servicio
- Administrador de IAM de proyecto
- Lector de Compute
- Administrador de Service Usage
- Obtén tu ID del proyecto de Google Cloud para usarlo con la creación del clúster:
gcloud auth application-default loginDebes 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:
export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILEJSON_KEY_FILE especifica la ruta al archivo de claves JSON de tu cuenta de servicio.
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.
La creación de clústeres solo verifica el espacio libre requerido para los componentes del sistema de los clústeres de Anthos en equipos físicos. Este cambio te da más control sobre el espacio que asignas para las cargas de trabajo de la aplicación. Siempre que instales clústeres de Anthos en equipos físicos, asegúrate de que los sistemas de archivos que respaldan los siguientes directorios tengan la capacidad requerida y cumplan los siguientes requisitos:
/
: 17 GiB (18,253,611,008 bytes)./var/lib/docker
o/var/lib/containerd
, según el entorno de ejecución del contenedor:- 30 GiB (32,212,254,720 bytes) para los nodos del plano de control.
- 10 GiB (10,485,760 bytes) para nodos trabajadores.
/var/lib/kubelet
: 500 MiB (524,288,000 bytes)./var/lib/etcd
: 20 GiB (21,474,836,480 bytes, aplicable solo a los nodos del plano de control).
Sin importar la versión del clúster, las listas de directorios anteriores pueden estar en la misma partición o en particiones diferentes. Si están en la misma partición subyacente, el requisito de espacio es la suma del espacio requerido para cada directorio individual en esa partición. Para todas las versiones de actualización, el proceso de creación de clústeres crea los directorios, si es necesario.
Los directorios
/var/lib/etcd
y/etc/kubernetes
no existen o están vacíos.
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.