En esta página, se explica cómo configurar un servidor de registro de contenedores existente para Google Distributed Cloud (solo software) para VMware.
Esta página está destinada a administradores, arquitectos y operadores que configuran, supervisan y administran la infraestructura tecnológica. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud , consulta Tareas y roles comunes de los usuarios de GKE Enterprise.
Descripción general
De forma predeterminada, durante la creación o actualización de un clúster, Google Distributed Cloud extrae imágenes del sistema de gcr.io/gke-on-prem-release
con la cuenta de servicio de acceso a componentes.
De forma opcional, puedes proporcionar tu propio servidor de registro de contenedores para que las imágenes del sistema se extraigan de tu servidor de registro privado.
Google Distributed Cloud no admite registros de contenedores no seguros. Cuando inicias el servidor de registro de contenedores, debes proporcionar un certificado y una clave. Una autoridad certificada (CA) pública puede firmar el certificado, o este se puede autofirmar.
Crea un servidor de registro de contenedores
Para obtener información sobre cómo crear un servidor de registro de contenedores, consulta Ejecuta un registro accesible de forma externa en la documentación de Docker.
Configura el registro
Para usar un registro de contenedores privados, completa la sección privateRegistry
en el archivo de configuración del clúster de administrador antes de crearlo.
Cuando se completa esta sección, ocurre lo siguiente:
Cuando ejecutas el comando
gkectl prepare
antes de crear o actualizar el clúster, el comando extrae las imágenes del archivo tar que se especifica en el campobundlePath
del archivo de configuración del clúster de administrador y las envía a tu servidor de registro privado.Durante la creación o actualización del clúster, las imágenes del sistema se extraen de tu servidor de registro privado.
Limitaciones con los clústeres avanzados y el paquete completo
Hay dos paquetes de Google Distributed Cloud disponibles: completo y estándar. Para determinar cuál es el paquete que se encuentra en tu estación de trabajo de administrador, verifica el campo bundlePath
en el archivo de configuración del clúster de administrador. Si el nombre del archivo termina en -full
, el paquete completo está en tu estación de trabajo de administrador. Si el nombre del archivo no termina en -full
, el paquete normal está en tu estación de trabajo de administrador.
Si creaste tu estación de trabajo de administrador con el comando gkeadm
, este comando
crea la VM de la estación de trabajo de administrador con el paquete completo y configura el
campo bundlePath
en el archivo de configuración del clúster de administrador.
Si el clúster avanzado está habilitado, existen limitaciones para usar el paquete completo con un registro privado, como se indica a continuación:
Versión 1.31: El paquete completo no es compatible con un registro privado. Para usar un registro privado en un clúster avanzado, haz lo siguiente:
- Descarga el paquete de tamaño normal en tu estación de trabajo de administrador.
- Actualiza el nombre del archivo en el campo
bundlePath
del archivo de configuración del clúster de administrador.
Versión 1.32: Se admite el uso del paquete completo, pero el comando
gkectl prepare
extrae imágenes degcr.io/gke-on-prem-release
en lugar del archivo tar. Sin embargo, el comando envía las imágenes a tu registro privado para que las imágenes del sistema se extraigan de tu registro privado durante la creación o actualización del clúster.
Verifica que las imágenes se extraigan de tu servidor de registro
La forma de verificar que las imágenes se extraigan de tu servidor de registro depende de si el clúster avanzado está habilitado.
Si el clúster avanzado no está habilitado, ejecuta el siguiente comando:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get pods \ --all-namespaces -o jsonpath="{.items[*].spec['initContainers', 'containers'][*].image}"
Reemplaza
ADMIN_CLUSTER_KUBECONFIG
por la ruta de acceso del archivo kubeconfig del clúster de administrador.El resultado de este comando muestra todas las imágenes de tu clúster. Puedes verificar que todas las imágenes de Google Distributed Cloud provengan de tu propio servidor de registro.
Si el clúster avanzado está habilitado, sigue estos pasos:
Para determinar si
containerd
extrae imágenes de tu registro local, examina los contenidos de un archivo llamadoconfig.toml
como se muestra en los pasos siguientes:- Accede a un nodo y examina el contenido del archivo
/etc/containerd/config.toml
. Verifica el campo
plugins."io.containerd.grpc.v1.cri".registry.mirrors
del archivoconfig.toml
para ver si el servidor de registro aparece en el campoendpoint
.El siguiente es un extracto de un archivo
config.toml
de ejemplo.version = 2 root = "/var/lib/containerd" state = "/run/containerd" ... [plugins."io.containerd.grpc.v1.cri".registry] [plugins."io.containerd.grpc.v1.cri".registry.configs] [plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io"] [plugins."io.containerd.grpc.v1.cri".registry.configs."privateregistry2.io".tls] ca_file = '/etc/containerd/certs.d/privateregistry2.io/ca.crt' [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"] endpoint = ["http://privateregistry.io", "http://privateregistry2.io"] ...
Si la duplicación del registro aparece en el campo
endpoint
, el nodo extrae imágenes de la duplicación del registro en lugar de Artifact Registry.
- Accede a un nodo y examina el contenido del archivo