Verwenden der Containerregistrierung Ihrer Organisation

ArcGIS 11.5 | |  Help archive

Wenn Sie die Containerregistrierung Ihrer Organisation für ArcGIS Enterprise on Kubernetes verwenden, müssen Sie vor neuen Bereitstellungen, Aktualisierungen oder Upgrades die Esri Container-Images vorbereiten. Dazu können Sie die in der Software enthaltenen Registrierungswerkzeuge verwenden, um die Docker Hub-Images von Esri in die Containerregistrierung der Organisation zu verschieben.

Registrierungswerkzeuge

Das ArcGIS Enterprise on Kubernetes-Bereitstellungspaket enthält verschiedene Werkzeuge, die für die Übertragung von Images in die Containerregistrierung Ihrer Organisation verwendet werden.

Diese Werkzeuge befinden sich unter /setup/tools/registry-tools in dem Verzeichnis, in dem Sie das Bereitstellungspaket extrahiert haben. Es sind folgende Werkzeuge enthalten:

  • image-download.sh: Damit werden alle Container-Images als .tar.gz-Archive auf das angegebene Speichergerät heruntergeladen.
  • image-upload.sh: Damit werden auf dem Speichergerät befindliche Container-Images in die Containerregistrierung hochgeladen.
  • image-transfer.sh: Damit werden Images direkt zwischen zwei Registrierungen übertragen. Diese Option ist schneller als die Verwendung von image-download.sh und image-upload.sh, wenn die Client-Workstation Zugriff auf beide Registrierungen hat.
  • create-offline-manifest.sh: Damit wird das Versionsmanifest heruntergeladen und in die Organisation importiert, um den Offline-Zugriff auf Aktualisierungen und Upgrades zu ermöglichen.

Der Ordner registry-tools enthält auch die Datei registry-tools.properties.template. Diese Eigenschaftendatei der Vorlage kann mit den Werkzeugen image-download.sh, image-upload.sh und image-transfer.sh verwendet werden. Weitere Informationen über die Eigenschaftendatei und die Registrierungswerkzeuge finden Sie in der Datei Readme.md in diesem Ordner.

Vorbereiten der Registrierung, wenn Ihr Client-Computer Zugriff auf Docker Hub und die Registrierung Ihrer Organisation hat

Wenn der Client-Computer Zugriff auf Docker Hub und die Registrierung Ihrer Organisation hat, können Sie die Registrierung mithilfe des Werkzeugs image-transfer.sh für eine neue Bereitstellung, eine Aktualisierung bzw. ein Upgrade vorbereiten.

Führen Sie die folgenden Schritte aus:

  1. Rufen Sie von My Esri die ArcGIS Enterprise on Kubernetes-Softwareversion ab, die Sie bereitstellen möchten.
  2. Laden Sie das Bereitstellungsskript auf Ihren Client-Computer herunter, und extrahieren Sie es.

    Laden Sie zur Vorbereitung auf ein Upgrade die neue Version des Bereitstellungsskripts herunter, um die aktuellen Images zu erhalten.

  3. Öffnen Sie ein Terminal, und ändern Sie die Verzeichnisse in das Verzeichnis /setup/tools/registry-tools.
  4. Wenn Ihre Registrierung verlangt, dass Sie die Image-Repositorys vorab erstellen, z. B. in Amazon Elastic Container Registry (ECR), führen Sie den folgenden Befehl aus, um eine Liste der erforderlichen Image-Repositorys zu erhalten:
    ./image-transfer.sh -l
    
  5. Ermitteln Sie die relevanten Versionsinformationen:
    • Identifizieren Sie bei der Vorbereitung für eine neue Bereitstellung das entsprechende Versions-Tag für die Softwareversion, die Sie bereitstellen möchten, mithilfe der Versionshinweise oder durch Ausführen des folgenden Befehls zur Anzeige der verfügbaren Image-Tags:
      ./image-transfer.sh -s
      

      Sie verwenden diese Tags bei der Angabe der Eigenschaft DOWNLOAD_TAGS.

    • Bei der Vorbereitung eines Upgrades oder einer Aktualisierung ermitteln Sie die aktuelle Version Ihrer Organisation, wobei die Version und der Build kombiniert werden. Um diese Informationen zu erhalten, melden Sie sich bei ArcGIS Enterprise Manager an, scrollen Sie zum Ende der Seite Überblick, und klicken Sie auf Info über diese Organisation.

      Beispiel: Für Version 11.4.0 und Build 6144 lautet CURRENT_VERSION 11.4.0.6144.

  6. Verwenden Sie die Vorlage im Ordner registry-tools, oder erstellen Sie eine separate Eigenschaftendatei, und binden Sie diese Parameter ein:
    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>"
    

    Weitere Informationen zu einigen dieser Eigenschaften finden Sie nachfolgend:

    • CURRENT_VERSION: Die in Schritt 5 ermittelte aktuelle Version Ihrer Organisation, die für die Vorbereitung von Aktualisierungen und Upgrades verwendet wird. Bei der Vorbereitung einer neuen Bereitstellung kann diese Eigenschaft übersprungen werden.
    • DOWNLOAD_TAGS und UPLOAD_TAGS: Wird für neue Bereitstellungen verwendet. Bei der Vorbereitung auf Aktualisierungen oder Upgrades werden diese Eigenschaften übersprungen.
    • UPLOAD_REGISTRY: Die Containerregistrierung, in die Sie Images hochladen werden. Geben Sie den Registrierungs-Host und ggf. das Ihrer Registrierung zugeordnete Repository-Präfix an. Der Registrierungs-Host ist der vollständig qualifizierte Domänenname des Containerregistrierungs-Hosts. Das Repository-Präfix ist das Image-Repository, das zum Speichern von Container-Images verwendet wird.
    • ENCRYPTION_KEYFILE: Die Verschlüsselungs-Schlüsseldatei ist eine Nur-Text-Datei, die für die AES-256-Verschlüsselung und -Entschlüsselung von Kennwörtern verwendet wird. Der Inhalt dieser Datei ist Text, der von Ihnen angegeben wird; die Datei sollte keine Kennwörter enthalten. Der Speicherort dieser Datei sowie ihr Inhalt sollten nicht geändert werden. Beispiel:
      $ echo 'My Encryption Text!' >> </path/to/keyfile.txt>
      
  7. Führen Sie das Skript mit dem für Ihren Workflow relevanten Befehl aus:
    • Vorbereitung für eine neue Bereitstellung
      ./image-transfer.sh -f </path/to/properties/file>
      
    • Vorbereitung für eine Aktualisierung
      ./image-transfer.sh -f </path/to/properties/file> --update
      
    • Vorbereitung für ein Upgrade
      ./image-transfer.sh -f </path/to/properties/file> --upgrade
      

    Weitere Informationen zu den zugehörigen Flags finden Sie nachfolgend:

    • --update: Überträgt die Container-Images, die für die Anwendung der neuesten Aktualisierung erforderlich sind.
    • --upgrade: Überträgt Container-Images, die für ein Upgrade auf die neueste Version von ArcGIS Enterprise on Kubernetes erforderlich sind.
    • --view: Verwenden Sie dies zusammen mit --update oder --upgrade, um die Liste der akkumulierten Images ohne Herunterladen anzuzeigen.
    Da mit dem Skript mehrere Images in die private Containerregistrierung übertragen werden, nimmt der Vorgang einige Zeit in Anspruch. Sollte die Übertragung unterbrochen werden, führen Sie das Skript erneut aus, um den Vorgang fortzusetzen.

    Tipp:

    Nachdem das Werkzeug image_transfer.sh erfolgreich abgeschlossen wurde, sind die Images weiterhin im Cache der Container-Runtime vorhanden. Um im Anschluss Speicherplatz freizugeben, wird empfohlen, den Docker-Cache von nicht benötigten Elementen zu bereinigen. Führen Sie hierfür docker system prune oder docker image rm aus.

Vorbereiten der nicht mit dem Internet verbundenen Registrierung

Wenn die Registrierung Ihrer Organisation nicht mit dem Internet verbunden ist, können Sie die Registrierung mithilfe der Werkzeuge image-download.sh und image-upload.sh für eine neue Bereitstellung, eine Aktualisierung bzw. ein Upgrade vorbereiten.

Führen Sie die folgenden Schritte aus:

  1. Rufen Sie von My Esri die ArcGIS Enterprise on Kubernetes-Softwareversion ab, die Sie bereitstellen möchten.
  2. Laden Sie die Bereitstellungsskripte auf den Client-Computer herunter, auf dem das Werkzeug zum Herunterladen ausgeführt wird, und auf den Client-Computer, auf dem das Werkzeug zum Hochladen ausgeführt wird, und extrahieren Sie sie.

    Es wird empfohlen, die gleiche Version der Bereitstellungsskripte zu verwenden. Laden Sie zur Vorbereitung auf ein Upgrade die neue Version der Bereitstellungsskripte herunter, um die aktuellen Images zu erhalten.

  3. Öffnen Sie auf dem Client-Computer, auf dem das Werkzeug zum Herunterladen ausgeführt wird, ein Terminal, und ändern Sie die Verzeichnisse in das Verzeichnis /setup/tools/registry-tools.
  4. Wenn Ihre Registrierung verlangt, dass Sie die Image-Repositorys vorab erstellen, z. B. in Amazon Elastic Container Registry (ECR), führen Sie den folgenden Befehl aus, um eine Liste der erforderlichen Image-Repositorys zu erhalten:
    ./image-download.sh -l
    
  5. Ermitteln Sie die relevanten Versionsinformationen:
    • Identifizieren Sie bei der Vorbereitung für eine neue Bereitstellung das entsprechende Versions-Tag für die Softwareversion, die Sie bereitstellen möchten, mithilfe der Versionshinweise oder durch Ausführen des folgenden Befehls zur Anzeige der verfügbaren Image-Tags:
      ./image-download.sh -s
      

      Sie verwenden diese Tags bei der Angabe der Eigenschaft DOWNLOAD_TAGS.

    • Bei der Vorbereitung eines Upgrades oder einer Aktualisierung ermitteln Sie die aktuelle Version Ihrer Organisation, wobei die Version und der Build kombiniert werden. Um diese Informationen zu erhalten, melden Sie sich bei ArcGIS Enterprise Manager an, scrollen Sie zum Ende der Seite Überblick, und klicken Sie auf Info über diese Organisation.

      Beispiel: Für Version 11.4.0 und Build 6144 lautet CURRENT_VERSION 11.4.0.6144.

  6. Wenn Sie bei der Vorbereitung einer neuen Bereitstellung die Eigenschaftendatei nicht verwenden, führen Sie das Werkzeug image-download.sh mit dem folgenden Befehlsformat aus:
    ./image-download.sh -r docker.io/esridocker -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>
    
  7. Wenn Sie die Eigenschaftendatei verwenden, verwenden Sie die Vorlage im Ordner registry-tools, oder erstellen Sie eine separate Eigenschaftendatei, und binden Sie diese Parameter ein:
    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>"
    

    Weitere Informationen zu einigen dieser Eigenschaften finden Sie nachfolgend:

    • CURRENT_VERSION: Die in Schritt 5 ermittelte aktuelle Version Ihrer Organisation, die für die Vorbereitung von Aktualisierungen und Upgrades verwendet wird. Bei der Vorbereitung einer neuen Bereitstellung kann diese Eigenschaft übersprungen werden.
    • DOWNLOAD_TAGS: Wird für neue Bereitstellungen verwendet. Bei der Vorbereitung auf Aktualisierungen oder Upgrades wird diese Eigenschaft übersprungen.
    • ENCRYPTION_KEYFILE: Die Verschlüsselungs-Schlüsseldatei ist eine Nur-Text-Datei, die für die AES-256-Verschlüsselung und -Entschlüsselung von Kennwörtern verwendet wird. Der Inhalt dieser Datei ist Text, der von Ihnen angegeben wird; die Datei sollte keine Kennwörter enthalten. Der Speicherort dieser Datei sowie ihr Inhalt sollten nicht geändert werden. Beispiel:
      $ echo 'My Encryption Text!' >> </path/to/keyfile.txt>
      
    1. Führen Sie das Skript mit dem für Ihren Workflow relevanten Befehl aus:
      • Vorbereitung für eine neue Bereitstellung
        ./image-download.sh -f </path/to/properties/file>
        
      • Vorbereitung für eine Aktualisierung
        ./image-download.sh -f </path/to/properties/file> --update
        
      • Vorbereitung für ein Upgrade
        ./image-download.sh -f </path/to/properties/file> --upgrade
        

      Weitere Informationen zu den zugehörigen Flags finden Sie nachfolgend:

      • --update: Überträgt die Container-Images, die für die Anwendung der neuesten Aktualisierung erforderlich sind.
      • --upgrade: Überträgt Container-Images, die für ein Upgrade auf die neueste Version von ArcGIS Enterprise on Kubernetes erforderlich sind.
      • --view: Verwenden Sie dies zusammen mit --update oder --upgrade, um die Liste der akkumulierten Images ohne Herunterladen anzuzeigen.

      Da mit dem Skript mehrere Images aus dem Esri Repository heruntergeladen werden, nimmt der Vorgang einige Zeit in Anspruch. Sollte der Download unterbrochen werden, führen Sie das Skript erneut aus, um den Vorgang fortzusetzen.

      Tipp:
      Nachdem das Werkzeug image_download.sh erfolgreich abgeschlossen wurde, sind die Images weiterhin im Cache der Container-Runtime vorhanden. Um im Anschluss Speicherplatz freizugeben, wird empfohlen, den Docker-Cache von nicht benötigten Elementen zu bereinigen. Führen Sie hierfür docker system prune oder docker image rm aus.

  8. Befolgen Sie die Prozesse Ihrer Organisation zum Verschieben von Images auf den nicht verbundenen Client-Computer.

    Dieser Computer muss Zugriff auf Ihre private Registrierung haben.

  9. Öffnen Sie auf dem Client-Computer mit Zugriff auf die Containerregistrierung ein Terminal, und ändern Sie die Verzeichnisse in das Verzeichnis /setup/tools/registry-tools.
  10. Wenn Sie die Eigenschaftendatei nicht verwenden, führen Sie das Werkzeug image-upload.sh mit dem folgenden Befehlsformat aus:
    ./image-upload.sh -r <registry_host>/<repository_prefix> -u <username> -p <password> -d </path/to/download/directory> -t <version_tag>
    
  11. Wenn Sie die Eigenschaftendatei verwenden, verwenden Sie die Vorlage im Ordner registry-tools, oder erstellen Sie eine separate Eigenschaftendatei, und binden Sie diese Parameter ein:
    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>"
    

    Weitere Informationen zu einigen dieser Eigenschaften finden Sie nachfolgend:

    • UPLOAD_REGISTRY: Die Containerregistrierung, in die Sie Images hochladen werden. Geben Sie den Registrierungs-Host und ggf. das Ihrer Registrierung zugeordnete Repository-Präfix an. Der Registrierungs-Host ist der vollständig qualifizierte Domänenname des Containerregistrierungs-Hosts. Das Repository-Präfix ist das Image-Repository, das zum Speichern von Container-Images verwendet wird. Bei der Vorbereitung eines Updates oder einer Aktualisierung müssen Sie das Verzeichnis der kopierten Image-Archive angeben.
    • UPLOAD_TAGS: Wird bei der Vorbereitung neuer Bereitstellungen verwendet. Bei der Vorbereitung auf Aktualisierungen oder Upgrades wird diese Eigenschaft übersprungen.
    1. Führen Sie das Skript mit dem für Ihren Workflow relevanten Befehl aus:
      • Vorbereitung für eine neue Bereitstellung
        ./image-upload.sh -f </path/to/properties/file>
        
      • Vorbereitung für eine Aktualisierung oder ein Upgrade
        ./image-upload.sh -f </path/to/properties/file> -t all
        

      Wenn Sie all für die Option -t angeben, werden alle Images hochgeladen, die Sie zuvor mit den Flags --update oder --upgrade heruntergeladen haben.

      Da mit dem Skript alle getaggten Images in die private Containerregistrierung hochgeladen werden, nimmt der Vorgang einige Zeit in Anspruch. Sollte der Upload unterbrochen werden, führen Sie das Skript erneut aus, um den Vorgang fortzusetzen.

      Hinweis:

      Nachdem das Werkzeug image-upload.sh erfolgreich abgeschlossen wurde, sind die Images weiterhin im Cache der Container-Runtime vorhanden. Um im Anschluss Speicherplatz freizugeben, wird empfohlen, den Docker-Cache von nicht benötigten Elementen zu bereinigen. Führen Sie hierfür docker system prune oder docker image rm aus.