Lorsque vous utilisez le registre de conteneur de votre organisation avec ArcGIS Enterprise on Kubernetes, vous devez le préparer avec les images de conteneur Esri avant tout nouveau déploiement, mise à jour ou mise à niveau. Pour ce faire, vous devez utiliser les outils de registre inclus avec le logiciel pour intégrer les images Docker Hub Esri dans le registre de conteneur de votre organisation.
Comprendre les outils de registre
Le paquet de déploiement ArcGIS Enterprise on Kubernetes comprend un ensemble d’outils permettant de transférer des images vers le registre de conteneur de votre organisation.
Ces outils se trouvent sous /setup/tools/registry-tools dans le répertoire où vous avez extrait le paquet de déploiement et incluent les éléments suivants :
- image-download.sh : télécharge toutes les images de conteneur vers le périphérique de stockage spécifié sous forme d’archives .tar.gz.
- image-upload.sh : charge les images du conteneur depuis le périphérique de stockage vers le registre de conteneur.
- image-transfer.sh : transfère les images directement entre deux registres. Cette méthode est plus rapide que celle consistant à utiliser image-download.sh et image-upload.sh si le poste de travail client peut accéder aux deux registres.
- create-offline-manifest.sh : télécharge le manifeste de version et l’importe dans votre organisation, permettant ainsi un accès hors ligne aux mises à jour et aux mises à niveau.
Le dossier registry-tools contient également le fichier registry-tools.properties.template. Ce fichier de propriétés de modèle peut être utilisé avec les outils image-download.sh, image-upload.sh et image-transfer.sh. Reportez-vous au fichier Readme.md de ce dossier pour en savoir plus sur le fichier de propriété et les outils de registre.
Préparer son registre lorsque sa machine cliente a accès à Docker Hub et au registre de conteneurs de son organisation
Si votre machine client a accès à Docker Hub et au registre de votre organisation, vous pouvez préparer votre registre pour un nouveau déploiement, une mise à jour ou une mise à niveau à l’aide de l’outil image-transfer.sh.
Effectuez les étapes suivantes :
- Sur My Esri, obtenez la version logicielle de ArcGIS Enterprise on Kubernetes que vous voulez déployer.
- Téléchargez et extrayez le script de déploiement sur votre machine cliente.
Pour préparer une mise à niveau, téléchargez la nouvelle version du script de déploiement afin d’obtenir les dernières images.
- Ouvrez un terminal et modifiez les répertoires pour désigner le répertoire /setup/tools/registry-tools.
- Si votre registre vous oblige à pré-créer les référentiels d’images, par exemple dans Amazon Elastic Container Registry (ECR), exécutez la commande suivante pour obtenir la liste des référentiels d’images requis.
./image-transfer.sh -l - Procurez-vous les informations pertinentes sur la version :
- En cas de préparation d’un nouveau déploiement, identifiez la balise de version correspondant à la version du logiciel que vous comptez déployer en vous référant aux notes de version ou en exécutant la commande suivante pour visualiser les balises d’images disponibles :
./image-transfer.sh -sVous utiliserez ces balises lors de la spécification de la propriété DOWNLOAD_TAGS.
- Si vous préparez une mise à jour ou d’une mise à niveau, identifiez la version actuelle de votre organisation qui associe la version et la build. Localisez ces informations en vous connectant à ArcGIS Enterprise Manager, en faisant défiler la page Overview (Vue d’ensemble) jusqu’en bas et en cliquant sur About this organization (À propos de cette organisation).
Par exemple, pour la version 11.4.0 et la build 6144, la propriété CURRENT_VERSION serait 11.4.0.6144.
- En cas de préparation d’un nouveau déploiement, identifiez la balise de version correspondant à la version du logiciel que vous comptez déployer en vous référant aux notes de version ou en exécutant la commande suivante pour visualiser les balises d’images disponibles :
- Utilisez le modèle qui se trouve dans le dossier registry-tools ou créez un fichier de propriétés à part et incluez les paramètres suivants :
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>"Pour en savoir plus sur certaines de ces propriétés, examinez les points suivants :
- CURRENT_VERSION : version actuelle de votre organisation identifiée à l’étape 5, utilisée lors de la préparation des mises à jour et des mises à niveau. Si vous préparez un nouveau déploiement, cette propriété est ignorée.
- DOWNLOAD_TAGS et UPLOAD_TAGS : balises utilisées pour les nouveaux déploiements. Si vous préparez des mises à jour ou des mises à niveau, ces propriétés sont ignorées.
- UPLOAD_REGISTRY : registre de conteneurs dans lequel vous chargerez les images. Indiquez l’hôte du registre et, le cas échéant, le préfixe du référentiel associé à votre registre. L’hôte du registre correspond au nom du domaine complet (FQDN) de l’hôte du registre de conteneurs. Le préfixe du référentiel est le référentiel d’images utilisé pour stocker les images de conteneur.
- ENCRYPTION_KEYFILE : le fichier de clé de chiffrement est un fichier de texte brut utilisé pour le chiffrement AES-256 et le déchiffrement des mots de passe. Le fichier contient le texte que vous spécifiez et ne doit inclure aucun mot de passe. Ce fichier doit rester à un emplacement fixe et son contenu ne doit pas être modifié. Par exemple :
$ echo 'My Encryption Text!' >> </path/to/keyfile.txt>
- Exécutez le script à l’aide de la commande correspondant à votre processus :
- Préparation d’un nouveau déploiement
./image-transfer.sh -f </path/to/properties/file> - Préparation d’une mise à jour
./image-transfer.sh -f </path/to/properties/file> --update - Préparation d’une mise à niveau
./image-transfer.sh -f </path/to/properties/file> --upgrade
Pour en savoir plus sur les indicateurs qui se rapportent à ces opérations, examinez les points suivants :
- --update : transfère les images de conteneur nécessaires pour appliquer la mise à jour la plus récente.
- --upgrade : transfère les images de conteneur nécessaires pour effectuer une mise à niveau vers la dernière version d’ArcGIS Enterprise on Kubernetes.
- --view : à utiliser avec --update ou --upgrade pour afficher la liste des images cumulées hors téléchargement.
Conseil :
Une fois l’outil image_transfer.sh exécuté, les images sont conservées dans le cache d’exécution du conteneur. Pour libérer de l’espace une fois l’outil exécuté avec succès, il est recommandé de supprimer les éléments non requis dans le cache Docker. Pour ce faire, exécutez docker system prune ou docker image rm.
- Préparation d’un nouveau déploiement
Préparer son registre qui est déconnecté d’Internet
Si le registre de votre organisation est déconnecté d’Internet, vous pouvez préparer votre registre pour un nouveau déploiement, une mise à jour ou une mise à niveau à l’aide des outils image-download.sh et image-upload.sh.
Effectuez les étapes suivantes :
- Sur My Esri, obtenez la version logicielle de ArcGIS Enterprise on Kubernetes que vous voulez déployer.
- Téléchargez et extrayez les scripts de déploiement sur la machine cliente exécutant l’outil de téléchargement et la machine cliente exécutant l’outil de chargement.
Il est recommandé d’utiliser la même version que les scripts de déploiement. Pour préparer une mise à niveau, téléchargez la nouvelle version des scripts de déploiement afin d’obtenir les dernières images.
- Sur la machine cliente qui exécute l’outil de téléchargement, ouvrez un terminal et modifiez les répertoires pour désigner le répertoire /setup/tools/registry-tools.
- Si votre registre vous oblige à pré-créer les référentiels d’images, par exemple dans Amazon Elastic Container Registry (ECR), exécutez la commande suivante pour obtenir la liste des référentiels d’images requis.
./image-download.sh -l - Procurez-vous les informations pertinentes sur la version :
- En cas de préparation d’un nouveau déploiement, identifiez la balise de version correspondant à la version du logiciel que vous comptez déployer en vous référant aux notes de version ou en exécutant la commande suivante pour visualiser les balises d’images disponibles :
./image-download.sh -sVous utiliserez ces balises lors de la spécification de la propriété DOWNLOAD_TAGS.
- Si vous préparez une mise à jour ou d’une mise à niveau, identifiez la version actuelle de votre organisation qui associe la version et la build. Localisez ces informations en vous connectant à ArcGIS Enterprise Manager, en faisant défiler la page Overview (Vue d’ensemble) jusqu’en bas et en cliquant sur About this organization (À propos de cette organisation).
Par exemple, pour la version 11.4.0 et la build 6144, la propriété CURRENT_VERSION serait 11.4.0.6144.
- En cas de préparation d’un nouveau déploiement, identifiez la balise de version correspondant à la version du logiciel que vous comptez déployer en vous référant aux notes de version ou en exécutant la commande suivante pour visualiser les balises d’images disponibles :
- Si vous préparez un nouveau déploiement sans recourir au fichier de propriétés, exécutez l’outil image-download.sh sous le format de commande suivant :
./image-download.sh -r docker.io/esridocker -u <username> -p <password> -d </path/to/download/directory> -t <version_tag> - Si vous utilisez le fichier de propriétés, utilisez le modèle qui se trouve dans le dossier registry-tools ou créez un fichier de propriétés à part et incluez les paramètres suivants :
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>"Pour en savoir plus sur certaines de ces propriétés, examinez les points suivants :
- CURRENT_VERSION : version actuelle de votre organisation identifiée à l’étape 5, utilisée lors de la préparation des mises à jour et des mises à niveau. Si vous préparez un nouveau déploiement, cette propriété est ignorée.
- DOWNLOAD_TAGS : balise utilisée pour les nouveaux déploiements. Si vous préparez des mises à jour ou des mises à niveau, cette propriété est ignorée.
- ENCRYPTION_KEYFILE : le fichier de clé de chiffrement est un fichier de texte brut utilisé pour le chiffrement AES-256 et le déchiffrement des mots de passe. Le fichier contient le texte que vous spécifiez et ne doit inclure aucun mot de passe. Ce fichier doit rester à un emplacement fixe et son contenu ne doit pas être modifié. Par exemple :
$ echo 'My Encryption Text!' >> </path/to/keyfile.txt>
- Exécutez le script à l’aide de la commande correspondant à votre processus :
- Préparation d’un nouveau déploiement
./image-download.sh -f </path/to/properties/file> - Préparation d’une mise à jour
./image-download.sh -f </path/to/properties/file> --update - Préparation d’une mise à niveau
./image-download.sh -f </path/to/properties/file> --upgrade
Pour en savoir plus sur les indicateurs qui se rapportent à ces opérations, examinez les points suivants :
- --update : transfère les images de conteneur nécessaires pour appliquer la mise à jour la plus récente.
- --upgrade : transfère les images de conteneur nécessaires pour effectuer une mise à niveau vers la dernière version d’ArcGIS Enterprise on Kubernetes.
- --view : à utiliser avec --update ou --upgrade pour afficher la liste des images cumulées hors téléchargement.
Comme le script télécharge de nombreuses images du référentiel Esri, l’opération dure un certain temps. Si un téléchargement est interrompu, exécutez à nouveau le script pour le recommencer.
Conseil :
Une fois l’outil image_download.sh exécuté, les images sont conservées dans le cache d’exécution du conteneur. Pour libérer de l’espace une fois l’outil exécuté avec succès, il est recommandé de supprimer les éléments non requis dans le cache Docker. Pour ce faire, exécutez docker system prune ou docker image rm. - Préparation d’un nouveau déploiement
- Suivez les processus de votre organisation pour déplacer les images sur votre machine cliente déconnectée.
Cette machine doit avoir accès à votre registre privé.
- Sur la machine cliente ayant accès à votre registre de conteneur, ouvrez un terminal et modifiez les répertoires pour désigner le répertoire /setup/tools/registry-tools.
- Si vous n’utilisez pas le fichier de propriétés, exécutez l’outil image-upload.sh sous le format de commande suivant :
./image-upload.sh -r <registry_host>/<repository_prefix> -u <username> -p <password> -d </path/to/download/directory> -t <version_tag> - Si vous utilisez le fichier de propriétés, utilisez le modèle qui se trouve dans le dossier registry-tools ou créez un fichier de propriétés à part et incluez les paramètres suivants :
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>"Pour en savoir plus sur certaines de ces propriétés, examinez les points suivants :
- UPLOAD_REGISTRY : registre de conteneurs dans lequel vous chargerez les images. Indiquez l’hôte du registre et, le cas échéant, le préfixe du référentiel associé à votre registre. L’hôte du registre correspond au nom du domaine complet (FQDN) de l’hôte du registre de conteneurs. Le préfixe du référentiel est le référentiel d’images utilisé pour stocker les images de conteneur. En cas de préparation d’une mise à jour ou d’une mise à niveau, veillez à spécifier le répertoire des archives d’images copiées.
- UPLOAD_TAGS : balise utilisée pour la préparation des nouveaux déploiements. Si vous préparez des mises à jour ou des mises à niveau, cette propriété est ignorée.
- Exécutez le script à l’aide de la commande correspondant à votre processus :
- Préparation d’un nouveau déploiement
./image-upload.sh -f </path/to/properties/file> - Préparation d’une mise à jour ou d’une mise à niveau
./image-upload.sh -f </path/to/properties/file> -t all
Le fait de spécifier all pour l’option -t charge toutes les images que vous avez téléchargées précédemment à l’aide des indicateurs --update ou --upgrade.
Comme le script charge toutes les images balisées dans votre registre de conteneur, l’opération dure un certain temps. Si un chargement est interrompu, exécutez à nouveau le script pour le recommencer.
Remarque :
Une fois l’outil image-upload.sh exécuté, les images sont conservées dans le cache d’exécution du conteneur. Pour libérer de l’espace une fois l’outil exécuté avec succès, il est recommandé de supprimer les éléments non requis dans le cache Docker. Pour ce faire, exécutez docker system prune ou docker image rm.
- Préparation d’un nouveau déploiement
Vous avez un commentaire à formuler concernant cette rubrique ?