En esta página, se muestra cómo personalizar la configuración del entorno de ejecución del contenedor de containerd en tus nodos de Google Kubernetes Engine (GKE). Ya debes estar familiarizado con qué es el entorno de ejecución del contenedor y por qué querrías personalizarlo.
Acerca de la configuración de containerd en GKE
Puedes configurar de forma manual un conjunto de opciones en el entorno de ejecución de containerd en nodos de GKE que ejecutan un sistema operativo como Container-Optimized OS. Personalizar el entorno de ejecución te permite configurar requisitos especiales, como el acceso a los registros de imágenes privadas. Para configurar estas opciones, crea un archivo YAML llamado archivo de configuración del entorno de ejecución y pasa el archivo a GKE cuando crees o actualices un clúster.
Este método de personalización de containerd te permite evitar implementar DaemonSets con privilegios, que son un riesgo de seguridad. Cuando proporcionas GKE un archivo de configuración del entorno de ejecución, GKE vuelve a crear los nodos y actualiza el archivo config.toml
de containerd en cada nodo con tu configuración.
La configuración persiste durante la finalización de nodos, las actualizaciones y las recreaciones.
El archivo de configuración del entorno de ejecución solo te permite configurar opciones en containerd. GKE también admite la configuración de opciones específicas de kubelet y opciones de kernel de Linux de bajo nivel mediante un archivo separado llamado archivo de configuración del sistema de nodos. Para obtener más detalles, consulta Personaliza la configuración del sistema de nodos.
Limitaciones
No puedes usar un archivo de configuración del entorno de ejecución para cambiar la configuración de containerd en las imágenes de nodo de Ubuntu. Solo se admite Container-Optimized OS con containerd. Esta es la imagen de nodo predeterminada para todos los clústeres de GKE.
Opciones de configuración de containerd disponibles
En la siguiente tabla, se describen las opciones que puedes configurar mediante un archivo de configuración del entorno de ejecución:
Opciones del archivo de configuración del entorno de ejecución | |
---|---|
|
Accede a los registros de imágenes privadas con credenciales privadas que almacenas en Secret Manager. Para obtener instrucciones, consulta Accede a registros privados con certificados de la AC privados. privateRegistryAccessConfig: enabled: true certificateAuthorityDomainConfig: - gcpSecretManagerCertificateConfig: secretURI: " Esta configuración tiene los siguientes campos:
|
Aplica la configuración de containerd a clústeres nuevos
En esta sección, se muestra cómo aplicar un archivo de configuración containerd cuando creas un clúster de GKE nuevo.
Ejecuta el siguiente comando:
gcloud container clusters create-autoCLUSTER_NAME
\ --location=LOCATION
\ --scopes="cloud-platform" \ --containerd-config-from-file="PATH_TO_CONFIG_FILE
"
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del clúster nuevo.LOCATION
: la ubicación de Compute Engine para el clúster nuevo.PATH_TO_CONFIG_FILE
: la ruta de acceso al archivo de configuración que creaste, como~/containerd-configuration.yaml
.
Puedes habilitar la configuración de registro privado en los clústeres estándar nuevos mediante la ejecución del comando gcloud container clusters create
con las mismas opciones.
Aplica la configuración de containerd a los clústeres existentes
En esta sección, se muestra cómo aplicar una configuración de containerd a clústeres y nodos existentes.
Verifica los permisos de acceso
Los clústeres existentes deben tener el permiso de acceso cloud-platform
para usar esta función. En esta sección, se muestra cómo verificar los permisos de acceso y actualizar un clúster existente con un archivo de configuración de registro privado nuevo o modificado.
Para obtener detalles sobre los permisos de acceso predeterminados en clústeres nuevos, consulta Permisos de acceso en GKE.
Verifica los permisos de acceso de Autopilot
Ejecuta el siguiente comando:
gcloud container clusters describeCLUSTER_NAME
\ --location=LOCATION
\ --flatten=nodeConfig \ --format='csv[delimiter="\\n",no-heading](oauthScopes)'
Si tu clúster no tiene el permiso de acceso https://www.googleapis.com/auth/cloud-platform
, crea un clúster nuevo con este permiso de acceso.
Verifica los permisos de acceso de Standard
Para verificar los permisos de acceso al clúster de Standard, verifica un grupo de nodos::
gcloud container node-pools describeNODE_POOL_NAME
\ --cluster=CLUSTER_NAME
\ --location=LOCATION
\ --flatten=nodeConfig \ --format='csv[delimiter="\\n",no-heading](oauthScopes)'
Reemplaza NODE_POOL_NAME
por el nombre del grupo de nodos.
Si tu clúster no tiene el permiso de acceso https://www.googleapis.com/auth/cloud-platform
, crea un grupo de nodos nuevo con el permiso de acceso cloud-platform
y borra tu grupo de nodos existente.
Actualiza el clúster para usar tu archivo de configuración
Ejecuta el siguiente comando:
gcloud container clusters updateCLUSTER_NAME
\ --location=LOCATION
\ --containerd-config-from-file="PATH_TO_CONFIG_FILE
"
Vuelve a crear los nodos en los clústeres de Standard
Si tu clúster de Standard no usa actualizaciones automáticas, debes volver a crear manualmente tus grupos de nodos para aplicar la configuración nueva. Para activar una recreación manual de nodos, actualiza tu clúster a la misma versión de GKE que ya usa.
gcloud container clusters upgradeCLUSTER_NAME
\ --location=LOCATION
\ --cluster-version=VERSION
Reemplaza VERSION
por la misma versión del parche de GKE que el clúster ya usa.
Inhabilita las opciones de configuración de containerd
Para quitar tu configuración personalizada, haz lo siguiente:
-
Actualiza el archivo de configuración para especificar
enabled: false
en el elemento de configuración que deseas inhabilitar y borrar cualquier otro campo en el elemento, como en el siguiente ejemplo:privateRegistryAccessConfig: enabled: false
- Aplica la configuración actualizada al clúster. Para obtener instrucciones, consulta Aplica la configuración de containerd a clústeres existentes.