Descripción general del servicio de Harbor administrado

En este documento, se proporciona una descripción general de Managed Harbor Service (MHS) en Google Distributed Cloud (GDC) aislado.

MHS es un registro de contenedores completamente administrado basado en el proyecto de código abierto Harbor. La integración de MHS en tu entorno de GDC proporciona una forma segura y escalable de administrar el ciclo de vida de tus artefactos de contenedor en entornos aislados sin mantenimiento manual.

En esta descripción general, se presentan los conceptos fundamentales necesarios para trabajar con MHS en GDC aislado, 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 Identity and Access Management (IAM) a nivel de la infraestructura y el control de acceso basado en roles (RBAC) a nivel del registro, así como las funciones 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 o operadores de aplicaciones que usan y administran MHS en GDC. Para obtener más información, consulta Públicos de la documentación de Google Distributed Cloud aislado.

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 operaciones específicas:

  • Capa del plano de administración: Te permite crear y borrar instancias del registro de Harbor.
  • Capa del plano de datos: Te permite enviar y extraer imágenes de contenedor en tu instancia de Harbor.

Diferencias entre los proyectos de GDC y los proyectos de instancias de Harbor

Managed Harbor Service incluye dos tipos de proyectos distintos. Comprender la interacción entre estas entidades garantiza que administres los recursos y los controles de acceso en la capa adecuada:

  • Proyecto de GDC: Es la unidad organizacional para la administración de la infraestructura. Úsala para administrar la instancia del registro de Harbor junto con otros recursos de GDC, como VMs y clústeres.

    • Límites: Un proyecto de GDC solo puede contener una instancia de Harbor. Sin embargo, esa instancia única se puede compartir en varios proyectos de GDC para proporcionar un registro centralizado para tu entorno.
    • Acceso: Requiere roles de IAM a nivel del proyecto de GDC para la creación, la administración y las tareas administrativas de la instancia.
  • Proyecto de instancia de Harbor: Es una agrupación lógica para la administración de artefactos que existe dentro de una instancia de Harbor. Úsala para organizar imágenes de contenedor y acceso a nivel del repositorio.

    • Límites: Una instancia de Harbor admite varios proyectos de Harbor. Estos se pueden asignar a equipos o usuarios individuales para habilitar la arquitectura de múltiples usuarios en un registro compartido.
    • Acceso: Requiere roles de RBAC específicos del registro para administrar repositorios, realizar tareas administrativas y controlar el acceso a artefactos dentro del proyecto.

Funciones

Harbor es un proyecto de código abierto graduado de 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 administrado, puedes implementar una instancia de Harbor para almacenar y administrar artefactos en GDC. MHS ofrece las siguientes funciones:

  • GDC aprovisiona y administra automáticamente las instancias de Harbor.
  • Harbor está integrado con IAM para la autenticación.
  • Harbor admite el acceso programático a través de cuentas de servicio del proyecto para habilitar cargas de trabajo automatizadas.
  • Las instancias de Harbor se pueden actualizar a la versión estable más reciente.
  • Harbor se mejoró para cumplir con los requisitos de cumplimiento y calidad de GDC.
  • Una instancia de Harbor es un recurso zonal; se implementa en una zona, pero se puede acceder desde cualquier zona dentro del universo de implementación 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: el nivel del proyecto de GDC y el nivel del proyecto del registro de Harbor.

Las cuentas de servicio del proyecto se autentican de forma programática con tokens de identidad de corta duración emitidos por IAM. Esto elimina la necesidad de crear y administrar manualmente cuentas de robot de Harbor. Si bien el rol de IAM de una cuenta de servicio permite la interacción con la instancia de Harbor, debes asignarle un rol de proyecto del registro de Harbor correspondiente para autorizar operaciones de datos específicas.

Para controlar el acceso a tus registros, configura permisos a nivel de la plataforma y del repositorio.

Roles de IAM para el acceso al proyecto de GDC

GDC administra los permisos a nivel del proyecto con roles de IAM. Puedes asignar estos roles a usuarios y cuentas de servicio del proyecto 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 Otorga y revoca el acceso.
  • Para cuentas de servicio: Otorga estos mismos roles de IAM a las cuentas de servicio del proyecto para habilitar la autenticación programática para cargas de trabajo automatizadas, como la administración de instancias del registro y la implementación de artefactos.
  • Para operadores de infraestructura: Consulta los manuales de servicio de GDC MHS para determinar los roles de IAM exactos que se requieren para tus tareas operativas específicas.

Roles de registro para el acceso al proyecto de Harbor

Un proyecto de Harbor usa su propio conjunto de mecanismos de RBAC que operan de forma independiente de los roles de IAM. Para administrar repositorios y artefactos, tanto los usuarios como las cuentas de servicio del proyecto deben tener el rol requerido asignado directamente a nivel del proyecto de Harbor.

Para obtener más información sobre los roles y permisos específicos de Harbor, consulta la documentación de Harbor para administrar el acceso de los usuarios.

Rendimiento

Google probó y verificó MHS para admitir los límites especificados en Límites del sistema.

Los límites de rendimiento reales podrían ser más altos.

Recolección de elementos no utilizados

Cuando usas MHS para agregar y borrar imágenes del registro, los datos no utilizados pueden acumularse con el tiempo. Para evitar sobrecargar los recursos de almacenamiento, MHS realiza automáticamente la recolección de elementos no utilizados cada 12 horas. No es necesario configurar la recolección de elementos no utilizados de forma manual.

¿Qué sigue?

Configura tu espacio de trabajo y tus proyectos para comenzar a administrar imágenes de contenedor: