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 contenedor de Esri antes de nuevas implementaciones, 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 utilizarimage-download.shyimage-upload.shsi 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 de esta carpeta para obtener más información sobre el archivo de propiedades y las herramientas del registro.
Nota:
Si su organización utiliza la reasignación de espacios de nombres de usuario de Docker, trabaje con su administrador de Docker antes de ejecutar las herramientas de registro para asignar el UID de ArcGIS 117932853.
Preparar su registro cuando su equipo cliente tenga acceso al Docker Hub y el registro de contenedores de su organización
Si el equipo cliente tiene acceso al Docker Hub 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.
Siga estos pasos:
En My Esri, obtenga la versión de software de ArcGIS Enterprise on Kubernetes que desea implementar.
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.
Abra un terminal y cambie los directorios al directorio
/setup/tools/registry-tools.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:
./image-transfer.sh -lObtenga información relevante sobre la versión:
- Si se está preparando para una nueva implementación, 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:
./image-transfer.sh -sUtilizará estas etiquetas al especificar la propiedad
DOWNLOAD_TAGS.Si se está preparando para una actualización o mejora, identifique la versión actual de su organización, que combina la versión y la compilación. Busque esta información iniciando sesión en ArcGIS Enterprise Manager, desplazándose hasta la parte inferior de la página Descripción general y haciendo clic en Acerca de esta organización.
Por ejemplo, para la versión 11.4.0 y la compilación 6144, la
CURRENT_VERSIONsería 11.4.0.6144.
Utilice la plantilla situada en la carpeta
registry-toolso 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_TAGS="<version_tag>" UPLOAD_REGISTRY="<registry_host>/<repository_prefix>" UPLOAD_USER="<username>" UPLOAD_PASS="<password>" UPLOAD_TAGS="<version_tag>" DOWNLOAD_DIR="</path/to/download/directory>" ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"Para obtener más información sobre algunas de estas propiedades, consulte lo siguiente:
CURRENT_VERSION: la versión actual de su organización identificada en el paso 5, utilizada al preparar actualizaciones y mejoras. Si se está preparando una nueva implementación, esta propiedad se omitirá.DOWNLOAD_TAGSyUPLOAD_TAGS: se utilizan para nuevas implementaciones. Si se está preparando para actualizaciones o mejoras, estas propiedades se omitirán.UPLOAD_REGISTRY: el registro de contenedores al que cargará las imágenes. Proporcione el host del registro y, si procede, el prefijo del repositorio asociado a su registro. El host del registro es el nombre de dominio completo del host del registro de contenedores. El prefijo del repositorio es el repositorio de imágenes utilizado para almacenar imágenes de contenedores.ENCRYPTION_KEYFILE: 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>Ejecute el script utilizando el comando correspondiente a su flujo de trabajo:
- Preparación para una nueva implementación
./image-transfer.sh -f </path/to/properties/file>- Preparación para una actualización
./image-transfer.sh -f </path/to/properties/file> --update- Preparación para una mejora
./image-transfer.sh -f </path/to/properties/file> --upgradePara obtener más información sobre los indicadores relacionados, consulte lo siguiente:
--update: transfiere las imágenes de contenedor necesarias para aplicar la última actualización.--upgrade: transfiere de imágenes de contenedores necesarias para actualizar a la última versión de ArcGIS Enterprise on Kubernetes.--view: utilícela con--updateo--upgradepara ver la lista de imágenes acumuladas sin necesidad de descargarlas.
Tarda un tiempo en completarse, dado que el script transfiere múltiples imágenes 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.shse 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 que limpie los elementos que no se necesitan en la caché de Docker. Puede hacerlo ejecutandodocker system pruneodocker image rm.
Preparar su registro que 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.
Siga estos pasos:
En My Esri, obtenga la versión de software de ArcGIS Enterprise on Kubernetes que desea implementar.
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.
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.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:
./image-download.sh -lObtenga información relevante sobre la versión:
- Si se está preparando para una nueva implementación, 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:
./image-download.sh -sUtilizará estas etiquetas al especificar la propiedad
DOWNLOAD_TAGS.Si se está preparando para una actualización o mejora, identifique la versión actual de su organización, que combina la versión y la compilación. Busque esta información iniciando sesión en ArcGIS Enterprise Manager, desplazándose hasta la parte inferior de la página Descripción general y haciendo clic en Acerca de esta organización.
Por ejemplo, para la versión 11.4.0 y la compilación 6144, la
CURRENT_VERSIONsería 11.4.0.6144.
Si se está preparando para una nueva implementación y no está utilizando el archivo de propiedades, ejecute la herramienta
image-download.shcon el siguiente formato de comando:./image-download.sh -r docker.io/esridocker -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>Si está utilizando el archivo de propiedades, use la plantilla que se encuentra en la carpeta
registry-toolso 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_TAGS="<version_tag>" DOWNLOAD_DIR="</path/to/download/directory>" ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"Para obtener más información sobre algunas de estas propiedades, consulte lo siguiente:
CURRENT_VERSION: la versión actual de su organización identificada en el paso 5, utilizada al preparar actualizaciones y mejoras. Si se está preparando una nueva implementación, esta propiedad se omitirá.DOWNLOAD_TAGS: se utilizan para nuevas implementaciones. Si se está preparando para actualizaciones o mejoras, esta propiedad se omitirá.ENCRYPTION_KEYFILE: 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>Ejecute el script utilizando el comando correspondiente a su flujo de trabajo:
- Preparación para una nueva implementación
./image-download.sh -f </path/to/properties/file>- Preparación para una actualización
./image-download.sh -f </path/to/properties/file> --update- Preparación para una mejora
./image-download.sh -f </path/to/properties/file> --upgradePara obtener más información sobre los indicadores relacionados, consulte lo siguiente:
--update: transfiere las imágenes de contenedor necesarias para aplicar la última actualización.--upgrade: transfiere de imágenes de contenedores necesarias para actualizar a la última versión de ArcGIS Enterprise on Kubernetes.--view: utilícela con--updateo--upgradepara ver la lista de imágenes acumuladas sin necesidad de descargarlas.
Tarda un tiempo en completarse, dado que la secuencia de comandos descarga múltiples imágenes 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.shse 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 que limpie los elementos que no se necesitan en la caché de Docker. Puede hacerlo ejecutandodocker system pruneodocker image rm
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.
En el equipo cliente con acceso al registro de su contenedor, abra un terminal y cambie los directorios al directorio
/setup/tools/registry-tools.Si no está utilizando el archivo de propiedades, ejecute la herramienta
image-upload.shcon el siguiente formato de comando:./image-upload.sh -r <registry_host>/<repository_prefix> -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>Si está utilizando el archivo de propiedades, use la plantilla que se encuentra en la carpeta
registry-toolso cree un archivo de propiedades separado e incluya estos parámetros:UPLOAD_REGISTRY="<registry_host>/<repository_prefix>" UPLOAD_USER="<username>" UPLOAD_PASS="<password>" UPLOAD_TAGS="<version_tag>" DOWNLOAD_DIR="</path/to/download/directory>" ENCRYPTION_KEYFILE="</path/to/keyfile.txt>"Para obtener más información sobre algunas de estas propiedades, consulte lo siguiente:
UPLOAD_REGISTRY: el registro de contenedores al que cargará las imágenes. Proporcione el host del registro y, si procede, el prefijo del repositorio asociado a su registro. El host del registro es el nombre de dominio completo del host del registro de contenedores. El prefijo del repositorio es el repositorio de imágenes utilizado para almacenar imágenes de contenedores. Si se está preparando para una actualización o mejora, asegúrese de especificar el directorio de los archivos de imagen copiados.UPLOAD_TAGS: se utilizan al preparar nuevas implementaciones. Si se está preparando para actualizaciones o mejoras, esta propiedad se omitirá.
Ejecute el script utilizando el comando correspondiente a su flujo de trabajo:
- Preparación para una nueva implementación
./image-upload.sh -f </path/to/properties/file>- Preparación para una actualización o mejora
./image-upload.sh -f </path/to/properties/file> -t allSi se especifica
allpara la opción-t, se cargarán todas las imágenes que haya descargado anteriormente utilizando los indicadores--updateo--upgrade.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.shse 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 que limpie los elementos que no se necesitan en la caché de Docker. Puede hacerlo ejecutandodocker system pruneodocker image rm.