En este documento se ofrece una descripción general de Managed Harbor Service (MHS) en Google Distributed Cloud (GDC) air-gapped.
MHS es un registro de contenedores totalmente gestionado basado en el proyecto de código abierto Harbor. Al integrar MHS en tu entorno de GDC, dispondrás de una forma segura y escalable de gestionar el ciclo de vida de los artefactos de contenedor en entornos aislados sin necesidad de realizar tareas de mantenimiento manuales.
En esta descripción general se presentan los conceptos básicos necesarios para trabajar con MHS en GDC air-gapped, incluida la relación entre los proyectos de GDC y los proyectos de instancias de Harbor. También se detallan los límites administrativos entre los roles de Gestión de Identidades y Accesos (IAM) a nivel de infraestructura y el control de acceso basado en roles (RBAC) a nivel de registro, así como las características principales, como la recolección de elementos no utilizados automatizada y los límites de rendimiento del servicio.
Este documento está dirigido a los desarrolladores de grupos de administradores de plataformas u operadores de aplicaciones que usan y administran MHS en GDC. Para obtener más información, consulta el artículo Audiencias de la documentación de GDC air-gapped
Cómo funciona Managed Harbor Service en GDC
Planos operativos
GDC MHS opera en dos capas funcionales distintas de la arquitectura de red. Cada capa permite realizar operaciones específicas:
- Capa del plano de gestión: permite crear y eliminar instancias de registro de Harbor.
- Capa del plano de datos: permite enviar y extraer imágenes de contenedor en la instancia de Harbor.
Diferencias entre los proyectos de GDC y los proyectos de instancias de Harbor
Managed Harbor Service implica dos tipos de proyectos distintos. Si comprendes la interacción entre estas entidades, podrás gestionar los recursos y los controles de acceso en la capa adecuada:
Proyecto de GDC: unidad organizativa para la gestión de la infraestructura. Úsala para gestionar la instancia de registro de Harbor junto con otros recursos de GDC, como máquinas virtuales y clústeres.
- Límites: un proyecto de GDC solo puede contener una instancia de Harbor. Sin embargo, esa instancia se puede compartir entre varios proyectos de GDC para proporcionar un registro centralizado para tu entorno.
- Acceso: requiere roles de gestión de identidades y accesos (IAM) a nivel de proyecto de GDC para la creación, la gestión y las tareas administrativas de instancias.
Proyecto de instancia de Harbor: agrupación lógica para la gestión de artefactos que existe dentro de una instancia de Harbor. Úsalo para organizar imágenes de contenedor y el acceso a nivel de repositorio.
- Límites: una instancia de Harbor admite varios proyectos de Harbor. Estos se pueden asignar a equipos o usuarios concretos para habilitar el multitenancy en un registro compartido.
- Acceso: requiere roles de control de acceso basado en roles (RBAC) específicos del registro para gestionar repositorios, realizar tareas administrativas y controlar el acceso a los artefactos dentro del proyecto.
Funciones
Harbor es un proyecto de código abierto graduado de la Cloud Native Computing Foundation (CNCF) que proporciona una solución de registro de contenedores en la nube integrada para Kubernetes y Docker. Con la integración del servicio gestionado, puedes desplegar una instancia de Harbor para almacenar y gestionar artefactos en GDC. MHS ofrece las siguientes funciones:
- Las instancias de Harbor se aprovisionan y gestionan automáticamente mediante GDC.
- Harbor está integrado con IAM para la autenticación.
- Harbor admite el acceso mediante programación a través de cuentas de servicio de proyectos para habilitar cargas de trabajo automatizadas.
- Las instancias de Harbor se pueden actualizar a la versión estable más reciente.
- Harbor se ha mejorado para cumplir los requisitos de calidad y de conformidad de GDC.
- Una instancia de Harbor es un recurso de zona; se despliega en una zona, pero se puede acceder a ella desde cualquier zona del universo de despliegue de GDC.
Control de acceso basado en roles para MHS
GDC aplica el control de acceso basado en roles (RBAC) para Managed Harbor Service (MHS) en dos capas distintas: a nivel de proyecto de GDC y a nivel de proyecto de registro de Harbor.
Las cuentas de servicio de proyectos se autentican mediante programación con tokens de identidad de corta duración emitidos por IAM. De esta forma, no es necesario crear ni gestionar manualmente cuentas de robot de Harbor. Aunque el rol de gestión de identidades y accesos (IAM) de una cuenta de servicio permite la interacción con la instancia de Harbor, debes asignarle un rol de proyecto de registro de Harbor correspondiente para autorizar operaciones de datos específicas.
Para controlar el acceso a los registros, configura los permisos a nivel de plataforma y de repositorio.
Roles de IAM para el acceso a proyectos de GDC
GDC gestiona los permisos a nivel de proyecto mediante roles de IAM. Puedes asignar estos roles tanto a usuarios como a cuentas de servicio de proyectos para controlar el acceso a tus instancias de Harbor.
- Para administradores de plataformas y usuarios: identifica los roles necesarios relacionados con tu tarea específica en la documentación de procedimientos y solicita acceso al administrador de IAM de tu organización. Para obtener más información, consulta el artículo Conceder y revocar acceso.
- Para cuentas de servicio: asigna estos mismos roles de IAM a las cuentas de servicio de proyectos para habilitar la autenticación mediante programación de cargas de trabajo automatizadas, como la gestión de instancias de registro y el despliegue de artefactos.
- Para operadores de infraestructura: consulta los manuales de servicio de GDC MHS para determinar los roles de IAM exactos que se necesitan para tus tareas operativas específicas.
Roles de registro para el acceso a proyectos de Harbor
Un proyecto de Harbor usa su propio conjunto de mecanismos de control de acceso basado en roles (RBAC) que funcionan de forma independiente de los roles de IAM. Para gestionar repositorios y artefactos, tanto los usuarios como las cuentas de servicio de proyectos deben tener el rol necesario asignado directamente a nivel de proyecto de Harbor.
Para obtener más información sobre los roles y permisos específicos de Harbor, consulta la documentación de Harbor sobre cómo gestionar el acceso de los usuarios.
Rendimiento
Google ha probado y verificado que MHS admite los límites especificados en Límites del sistema.
Los límites de rendimiento reales pueden ser superiores.
Recolección de elementos no utilizados
Cuando usas MHS para añadir y eliminar imágenes del registro, los datos no utilizados pueden acumularse con el tiempo. Para evitar que los recursos de almacenamiento se vean sobrecargados, MHS realiza automáticamente la recolección de elementos no utilizados cada 12 horas. No es necesario configurar la recogida de basura manualmente.
Siguientes pasos
Configura tu espacio de trabajo y tus proyectos para empezar a gestionar imágenes de contenedor:
- Crear instancias de registro de Harbor.
- Crear proyectos de instancias de Harbor.
- Gestionar instancias de registro de Harbor.