En esta página, se explica cómo administrar los gráficos de Helm 3 guardados como imágenes de contenedores de OCI, lo que incluye su envío (carga), extracción (descarga), enumeración, etiquetado y eliminación.
Antes de comenzar
- Si el repositorio de destino no existe, crea uno nuevo. Elige Docker como el formato del repositorio.
- Verifica que tengas los permisos necesarios para el repositorio.
- (Opcional) Configura valores predeterminados para los comandos de Google Cloud CLI.
Instala Helm 3.8.0 o una versión posterior. En versiones anteriores de Helm, la compatibilidad con gráficos en formato OCI es una función experimental.
Ejecuta
helm version
para verificar tu versión.Configura Helm para autenticarse con Artifact Registry.
Cómo crear o obtener un gráfico
Esta documentación se enfoca en administrar las imágenes de tus gráficos y se supone que ya tienes gráficos existentes o que conoces cómo crearlos. Para obtener más información sobre cómo crear gráficos o obtener gráficos disponibles públicamente en Artifact Hub, consulta la siguiente información en la documentación de Helm.
- En Cómo usar Helm, se describe cómo obtener gráficos del Artifact Hub público y personalizar un gráfico antes de instalarlo.
- En Gráficos, se describen los gráficos y cómo crearlos.
- En la Guía de prácticas recomendadas de gráficos, se describen las convenciones y las prácticas recomendadas.
Empaqueta un gráfico
Antes de enviar un gráfico a Artifact Registry, debes empaquetarlo como un archivo de gráfico.
Cambia al directorio que contiene tu gráfico.
Empaqueta el gráfico.
helm package CHART-PATH
Reemplaza CHART-PATH por la ruta de acceso al directorio que contiene tu archivo
Chart.yaml
.
Helm usa el nombre y la versión del gráfico para el nombre del archivo del archivo. Por ejemplo, si tienes un gráfico con el nombre my-chart
y el número de versión 0.1.0
, el nombre del paquete es my-chart-0.1.0.tgz
.
Ahora puedes enviar el gráfico a Artifact Registry.
Cómo enviar un gráfico
Después de empaquetar tu gráfico, puedes enviarlo a Artifact Registry.
Para enviar el gráfico, ejecuta el siguiente comando:
helm push my-chart-0.1.0.tgz oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Reemplaza los siguientes valores:
- LOCATION es la ubicación regional o multirregional del repositorio.
- PROJECT es el Google Cloud ID de tu proyecto. Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con alcance de dominio. - REPOSITORY es el nombre del repositorio.
Helm usa información de Chart.yaml
para el nombre y la etiqueta de la imagen del contenedor OCI. Considera el siguiente comando de ejemplo:
helm push my-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/my-project/my-repo
Helm sube el archivo del gráfico como la imagen my-chart
con la etiqueta 0.1.0
.
Para verificar que la operación de envío se realizó correctamente, muestra las imágenes en el repositorio.
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Extracción de gráficos
Para extraer un gráfico, sigue estos pasos:
Ejecuta el siguiente comando para extraer el archivo del gráfico:
helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSION
Si deseas extraer el archivo del gráfico y extraer su contenido, agrega la marca
--untar
.helm pull oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \ --version VERSION \ --untar
Reemplaza los siguientes valores:
- LOCATION es la ubicación regional o multirregional del repositorio.
- PROJECT es el Google Cloud ID de tu proyecto.
Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con alcance de dominio. - REPOSITORY es el nombre del repositorio en el que se almacena la imagen.
- IMAGE es el nombre de la imagen en el repositorio.
- VERSION es la versión semántica del gráfico. Esta marca es obligatoria. Helm no admite extraer un gráfico con una etiqueta.
Cómo instalar un gráfico
Instala un gráfico almacenado en Artifact Registry con el comando helm install.
helm install RELEASE \
oci://LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--version VERSION
En el siguiente ejemplo, se instala una versión llamada release1
con la versión 0.1.0
del gráfico us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart
:
helm install release1 oci://us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart --version 0.1.0
Gráficos de fichas
Puedes enumerar los gráficos con la consola de Google Cloud o la línea de comandos. Si almacenas imágenes de contenedores y gráficos en el mismo repositorio de Docker, ambos tipos de artefactos aparecerán en la lista.
Console
Para ver imágenes en un repositorio, haz lo siguiente:
Abre la página Repositorios en la consola de Google Cloud.
Haz clic en el repositorio con la imagen de contenedor.
Haz clic en una imagen para ver sus versiones.
gcloud
Para enumerar todas las imágenes en el proyecto, el repositorio y la ubicación predeterminados cuando se configuran los valores predeterminados, haz lo siguiente:
gcloud artifacts docker images list
Para enumerar las imágenes de un repositorio en una ubicación específica, ejecuta el siguiente comando:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Para enumerar todos los resúmenes y las etiquetas de una imagen específica, ejecuta el siguiente comando:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
Reemplaza los siguientes valores:
- LOCATION es la ubicación regional o multirregional del repositorio.
- PROJECT es el Google Cloud ID de tu proyecto. Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con alcance de dominio. - REPOSITORY es el nombre del repositorio en el que se almacena la imagen.
- IMAGE es el nombre de la imagen en el repositorio.
--include-tags
muestra todas las versiones de las imágenes, incluidos los resúmenes y las etiquetas. Si se omite esta marca, en la lista que se muestra, solo se incluyen imágenes de contenedores de nivel superior.
Por ejemplo, considera una imagen con las siguientes características:
- Ubicación del repositorio:
us-west1
- Nombre del repositorio:
my-repo
- ID del proyecto:
my-project
- Nombre de la imagen:
my-image
El nombre completo del repositorio es el siguiente:
us-west1-docker.pkg.dev/my-project/my-repo
El nombre completo de la imagen es el siguiente:
us-west1-docker.pkg.dev/my-project/my-repo/my-image
Para obtener detalles sobre el formato del nombre de la imagen, consulta Nombres de imágenes y repositorios.
Cómo enumerar archivos
Puedes enumerar archivos en un repositorio, archivos en todas las versiones de una imagen de contenedor especificada o archivos en una versión específica de una imagen.
Para todos los siguientes comandos, puedes establecer una cantidad máxima de archivos que se mostrarán si agregas la marca --limit
al comando.
Para enumerar todos los archivos del proyecto, el repositorio y la ubicación predeterminados cuando se configuran los valores predeterminados, haz lo siguiente:
gcloud artifacts files list
Para enumerar los archivos de un proyecto, un repositorio y una ubicación especificados, ejecuta el siguiente comando:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Para obtener una lista de los archivos de todas las versiones de una imagen de contenedor específica, haz lo siguiente:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Para obtener una lista de archivos de una versión específica de la imagen del contenedor, sigue estos pasos:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Reemplaza los siguientes valores:
LOCATION
: Es la ubicación regional o multirregional del repositorio.PROJECT
: Es el Google Cloud ID de tu proyecto. Si el ID de tu proyecto contiene dos puntos (:
), consulta Proyectos con alcance de dominio.REPOSITORY
: Es el nombre del repositorio en el que se almacena la imagen.PACKAGE
: Es el nombre de la imagen.VERSION
: El resumen de la imagen, una cadena que comienza consha256:
.TAG
: Es la etiqueta asociada con la imagen del contenedor.
Borra imágenes
En un repositorio de Artifact Registry, puedes borrar una imagen de contenedor completa o borrar una versión específica de una imagen asociada con una etiqueta o un resumen. Una vez que hayas borrado una imagen, no podrás deshacer esta acción.
Para borrar una imagen almacenada en Artifact Registry, haz lo siguiente:
Console
Abre la página Repositorios en la consola de Google Cloud.
Haz clic en el nombre de la imagen para ver las versiones correspondientes.
Selecciona las versiones que quieres borrar.
Haz clic en BORRAR.
En el diálogo de confirmación, haz clic en BORRAR.
gcloud
Para borrar una imagen y todas sus etiquetas, ejecuta el siguiente comando:
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags
Para borrar una versión específica de una imagen, usa uno de los siguientes comandos.
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]
o
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]
Dónde
- LOCATION es la ubicación regional o multirregional del repositorio.
- PROJECT es el Google Cloud ID de tu proyecto.
Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con alcance de dominio. - REPOSITORY es el nombre del repositorio en el que se almacena la imagen.
- IMAGE es el nombre de la imagen en el repositorio.
- TAG es la etiqueta de la versión que deseas borrar. Si varias etiquetas están asociadas a la misma versión de una imagen, debes incluir
--delete-tags
para borrar la versión de la imagen sin quitar primero las etiquetas. - IMAGE-DIGEST es el valor de hash SHA256 de la versión que deseas borrar. Si una etiqueta está asociada con el resumen de la imagen, debes incluir
--delete-tags
para borrar la versión de la imagen sin quitar primero la etiqueta. --delete-tags
quita todas las etiquetas aplicadas a la versión de la imagen. Esta marca te permite forzar la eliminación de una versión de imagen en los siguientes casos:- Especificaste una etiqueta, pero hay otras etiquetas asociadas con la versión de la imagen.
- Especificaste un resumen de la imagen que tiene al menos una etiqueta.
¿Qué sigue?
- Obtén información para administrar imágenes de Docker.
- Descarga archivos individuales desde tu repositorio sin usar comandos de Helm.