Utilizar el registro de contenedores de su organización

Cuando utilice el registro de contenedores de su organización con ArcGIS Enterprise on Kubernetes, debe prepararlo con las imágenes de contenedores de Esri antes de realizar nuevos despliegues, actualizaciones o mejoras. Para ello, puede utilizar las herramientas de registro que se incluyen con el software para insertar las imágenes del hub Docker de Esri en el registro de contenedores de su organización.

Comprender las herramientas de registro

El paquete de implementación de ArcGIS Enterprise on Kubernetes incluye un conjunto de herramientas que se utilizan para transferir imágenes al registro de contenedores de su organización.

Estas herramientas se encuentran en setup/tools/registry-tools, en el directorio donde extrajo el paquete de implementación, e incluyen las siguientes:

  • image-download.sh: descarga todas las imágenes de contenedor a su dispositivo de almacenamiento especificado como archivos .tar.gz.
  • image-upload.sh: carga imágenes de contenedor del dispositivo de almacenamiento al registro de su contenedor.
  • image-transfer.sh: transfiere imágenes directamente entre dos registros. Esto es más rápido que utilizar image-download.sh y image-upload.sh si la estación de trabajo del cliente puede acceder a ambos registros.
  • create-offline-manifest.sh: descarga el manifiesto de la versión y lo importa a su organización, lo que permite el acceso sin conexión a las actualizaciones y mejoras.

La carpeta registry-tools también contiene el archivo registry-tools.properties.template. Este archivo de propiedades de plantilla puede utilizarse con las herramientas image-download.sh, image-upload.sh y image-transfer.sh. Consulte el archivo Readme.md dentro de esta carpeta para obtener más información sobre el archivo de propiedades y las herramientas del registro.

Preparar su registro cuando el equipo cliente tenga acceso al hub Docker y el registro de su organización

Si el equipo cliente tiene acceso al hub Docker y el registro de su organización, puede preparar su registro para una nueva implementación, actualización o mejora mediante el uso de la herramienta image-transfer.sh.

Para preparar su registro, siga estos pasos:

  1. Desde My Esri, obtenga la versión del software de ArcGIS Enterprise on Kubernetes que desea implantar.
  2. Descargue y extraiga el script de implementación en su equipo cliente.

    Para preparar una actualización, descargue la nueva versión del script de implementación para obtener las imágenes más recientes.

  3. Abra un terminal y cambie los directorios al directorio setup/tools/registry-tools.
  4. Si su registro requiere que cree previamente los repositorios de imágenes, por ejemplo, en Amazon Elastic Container Registry (ECR), ejecute el comando siguiente para obtener una lista de repositorios de imágenes requeridos:
    /setup/tools/registry-tools/image-transfer.sh -l
    
  5. Identifique la etiqueta de versión correspondiente a la versión de software que desea implementar haciendo referencia a las notas de la versión o ejecutando el siguiente comando para ver las etiquetas de las imágenes disponibles:

    /setup/tools/registry-tools/image-transfer.sh -s
    

  6. Utilice la plantilla situada en la carpeta registry-tools o cree un archivo de propiedades separado e incluya estos parámetros:
    DOWNLOAD_REGISTRY="docker.io/esridocker"
    DOWNLOAD_USER="<username>"
    DOWNLOAD_PASS="<password>"
    CURRENT_VERSION="<current_version_tag>"
    DOWNLOAD_TAG="<version_tag>"
    UPLOAD_REGISTRY="<registry_host>/<organization>"
    UPLOAD_USER="<username>"
    UPLOAD_PASS="<password>"
    UPLOAD_TAG"="<version_tag>"
    DOWNLOAD_DIR="</path/to/download/directory>"
    ENCRYPTION_KEYFILE"</path/to/keyfile.txt>"
    

    El archivo de clave de cifrado es un archivo de texto sin formato utilizado para el cifrado y descifrado AES-256 de contraseñas. El contenido de este archivo es texto que especifica el usuario y no debe contener contraseñas. Este archivo debe permanecer en una ubicación fija y el contenido no debe cambiarse. Por ejemplo: 

    $ echo 'My Encryption Text!' >> /path/to/keyfile.txt
    
  7. Ejecute la secuencia de comandos utilizando el comando siguiente:
    ./image-transfer.sh -f </properties/file/path>
    

    Tarda un tiempo en completarse, dado que el script transfiere todas las imágenes etiquetadas en el registro de su contenedor. Si se interrumpe una transferencia, vuelva a ejecutar el script para reanudarla.

    Sugerencia:

    Una vez que la herramienta image_transfer.sh se ejecute, las imágenes siguen existiendo en la caché de tiempo de ejecución del contenedor. Para liberar espacio después de que se haya completado correctamente, se recomienda limpiar los elementos que no se necesitan en la caché de Docker. Puede hacerlo ejecutando docker system prune o docker image rm.

Preparar su registro cuando el registro de su organización está desconectado de internet

Si el registro de su organización está desconectado de internet, puede preparar su registro para una implementación o actualización nueva mediante el uso de las herramientas image-download.sh y image-upload.sh.

Para preparar su registro, siga estos pasos:

  1. Desde My Esri, obtenga la versión del software de ArcGIS Enterprise on Kubernetes que desea implantar.
  2. Descargue y extraiga los scripts de implementación en el equipo cliente en el que se ejecuta la herramienta de descarga y el equipo cliente en el que se ejecuta la herramienta de carga.

    Se recomienda utilizar la misma versión de los scripts de implementación. Para preparar una actualización, descargue la nueva versión de las secuencias de comandos de implementación para obtener las imágenes más recientes.

  3. En el equipo cliente en el que se ejecuta la herramienta de descarga, abra un terminal y cambie los directorios al directorio setup/tools/registry-tools.
  4. Si su registro requiere que cree previamente los repositorios de imágenes, por ejemplo, en Amazon Elastic Container Registry (ECR), ejecute el comando siguiente para obtener una lista de repositorios de imágenes requeridos:
    /setup/tools/registry-tools/image-download.sh -l
    
  5. Identifique la etiqueta de versión correspondiente a la versión de software que desea implementar haciendo referencia a las notas de la versión o ejecutando el siguiente comando para ver las etiquetas de las imágenes disponibles:

    /setup/tools/registry-tools/image-download.sh -s
    

  6. Si no está utilizando el archivo de propiedades, ejecute la herramienta image-download.sh con el siguiente formato de comando:
    ./image-download.sh -r docker.io/esridocker -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>
    
  7. Si está utilizando el archivo de propiedades, use la plantilla que se encuentra en la carpeta registry-tools o cree un archivo de propiedades separado e incluya estos parámetros:
    DOWNLOAD_REGISTRY="<docker.io/esridocker>"
    DOWNLOAD_USER="<username>"
    DOWNLOAD_PASS="<password>"
    DOWNLOAD_TAG="<version_tag>"
    DOWNLOAD_DIR="</path/to/download/directory>"
    ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"
    

    El archivo de clave de cifrado es un archivo de texto sin formato utilizado para el cifrado y descifrado AES-256 de contraseñas. El contenido de este archivo es texto que especifica el usuario y no debe contener contraseñas. Este archivo debe permanecer en una ubicación fija y el contenido no debe cambiarse. Por ejemplo: 

    $ echo 'My Encryption Text!' >> /path/to/keyfile.txt
    

    1. Ejecute la secuencia de comandos utilizando el comando siguiente:
      ./image-download.sh -f </properties/file/path>
      

      Tarda un tiempo en completarse, dado que el script descarga todas las imágenes etiquetadas desde el repositorio de Esri. Si se interrumpe una descarga, vuelva a ejecutar el script para reanudarla.

      Sugerencia:

      Una vez que la herramienta image_download.sh se ejecute, las imágenes siguen existiendo en la caché de tiempo de ejecución del contenedor. Para liberar espacio después de que se haya completado correctamente, se recomienda limpiar los elementos que no se necesitan en la caché de Docker. Puede hacerlo ejecutando docker system prune o docker image rm.

  8. Siga los procesos de su organización para mover imágenes a su equipo cliente desconectado.

    Este equipo debe tener acceso a su registro privado.

  9. En el equipo cliente con acceso al registro de su contenedor, abra un terminal y cambie los directorios al directorio setup/tools/registry-tools.
  10. Si no está utilizando el archivo de propiedades, ejecute la herramienta image-upload.sh con el siguiente formato de comando:
    ./image-upload.sh -r <registry_host>/<organization> -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>
    
  11. Si está utilizando el archivo de propiedades, use la plantilla que se encuentra en la carpeta registry-tools o cree un archivo de propiedades separado e incluya estos parámetros:
    UPLOAD_REGISTRY="<registry_host>/<organization>"
    UPLOAD_USER="<username>"
    UPLOAD_PASS="<password>"
    UPLOAD_TAG="<version_tag>"
    DOWNLOAD_DIR="</path/to/download/directory>"
    ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"
    
    1. Ejecute el script utilizando el comando siguiente:
      ./image-upload.sh -f <properties file path>
      

      Tarda un tiempo en completarse, dado que el script carga todas las imágenes etiquetadas en el registro de su contenedor. Si se interrumpe una carga, vuelva a ejecutar el script para reanudarla.

      Nota:

      Una vez que la herramienta image-upload.sh se ejecute, las imágenes siguen existiendo en la caché de tiempo de ejecución del contenedor. Para liberar espacio después de que se haya completado correctamente, se recomienda limpiar los elementos que no se necesitan en la caché Docker. Puede hacerlo ejecutando docker system prune o docker image rm.

Preparar su registro para actualizaciones o mejoras

Si está preparando su registro antes de aplicar la última actualización o de actualizar su organización, utilice un archivo de propiedades y configure la propiedad CURRENT_VERSION para asegurarse de que la herramienta de registro solo descarga o transfiere las imágenes necesarias. Una vez que haya completado los pasos 1-4 en una de las secciones anteriores y haya rellenado el archivo de propiedades, complete los siguientes pasos:

  1. Identifique la versión actual de su organización iniciando sesión en la API de administración y combinando la versión y la compilación.

    Por ejemplo, para la versión 11.4.0 y la compilación 6144, la CURRENT_VERSION sería 11.4.0.6144.

  2. Defina la propiedad CURRENT_VERSION en el archivo de propiedades.
  3. Si se dispone a aplicar la última actualización, ejecute las herramientas image-transfer.sh o image-download.sh.
    1. Si su estación de trabajo cliente tiene acceso directo tanto al hub Docker como al registro de la organización de destino, ejecute el comando con el siguiente formato:
      ./image-transfer.sh -f <properties_file> --update
      
    2. Si su estación de trabajo cliente tiene acceso al hub Docker, pero no al registro de la organización de destino, ejecute el comando con el siguiente formato:
      ./image-download.sh -f <properties_file> --update
      
  4. Si se dispone a actualizar su organización a la siguiente versión publicada, ejecute las herramientas image-transfer.sh o image-download.sh.
    1. Si su estación de trabajo cliente tiene acceso directo tanto al hub Docker como al registro de la organización de destino, ejecute el comando con el siguiente formato:
      ./image-transfer.sh -f <properties_file> --upgrade
      
    2. Si su estación de trabajo cliente tiene acceso al hub Docker, pero no al registro de la organización de destino, ejecute el comando con el siguiente formato:
      ./image-download.sh -f <properties_file> --upgrade
      
  5. Nota:
    Si ha utilizado la herramienta image-download.sh, también debe transferir las imágenes a una estación de trabajo cliente con acceso al registro de la organización y ejecutar la herramienta image-upload.sh apuntando al directorio de los archivos de imagen copiados.