Ausführen des Bereitstellungsskripts

Führen Sie für die Bereitstellung von ArcGIS Enterprise on Kubernetes ein Bash-Skript zusammen mit Kubernetes-Manifesten aus. Das Bereitstellungspaket steht unter My Esri als .tar.gz-Datei zum Download bereit. Lesen Sie vor der Ausführung des Bereitstellungsskripts die Anweisungen mit den ersten Schritten.

Hinweis:

Damit das Bereitstellungsskript im interaktiven Modus ausgeführt werden kann, darf das Kennwort für die Containerregistrierung nicht länger als 30 Zeichen sein. Sollte Ihr Kennwort für die Containerregistrierung eine Länge von 30 Zeichen überschreiten, können Sie das Bereitstellungsskript im automatischen Modus ausführen. Vor der Ausführung müssen Sie mit dem Werkzeug password-encrypt.sh ein verschlüsseltes Kennwort generieren, etwaige Zeilenumbrüche daraus entfernen und das Kennwort in der Datei deploy.properties als CONTAINER_REGISTRY_PASSWORD angeben.

Ausführen des Bereitstellungsskripts im interaktiven Modus

Wenn Sie das Bereitstellungsskript für ArcGIS Enterprise on Kubernetes ohne Angabe einer Datei mit Konfigurationsparametern ausführen, wird es im interaktiven Modus geöffnet. Sie werden dann zur Eingabe der einzelnen Parameter aufgefordert, wobei das Skript jeden Wert unmittelbar auf Gültigkeit prüft. Mit dieser Methode werden die Konfigurationsparameter für Ihre Bereitstellung schnell überprüft.

  1. Öffnen Sie auf dem Kubernetes-Client-Computer eine Terminalsitzung als Administrator.
  2. Ändern Sie das Verzeichnis in den Speicherort des Bereitstellungsskripts.
  3. Führen Sie im Terminal das Bereitstellungsskript mit dem folgenden Befehlsformat aus:
    ./deploy.sh
    
  4. Legen Sie die Parameter fest.

    Das Skript fordert einzeln zur Eingabe der folgenden Parameter auf. Bei Eingabe eines ungültigen Werts wird unmittelbar eine Fehlermeldung ausgegeben, und Sie werden zur Eingabe eines gültigen Parameters aufgefordert. Im nachfolgenden Abschnitt finden Sie eine Übersicht über die Benutzereingaben:

    Hinweis:

    Es ist nicht nötig, das Skript als Root-Benutzer auszuführen.

    • Deployment platform: ArcGIS Enterprise on Kubernetes leitet eingehenden Datenverkehr über Eingänge an die Services im Cluster weiter. Wenn Sie die Bereitstellung in einem von einem Cloud-Anbieter verwalteten Kubernetes-Service wie Amazon Web Services EKS oder Microsoft Azure Kubernetes Service (AKS) durchführen, kann der Ingress-Controller extern über einen Load-Balancer-Service des Cloud-Anbieters bereitgestellt werden. In diesem Fall stellt ArcGIS Enterprise on Kubernetes während des Bereitstellungsprozesses einen Load Balancer bereit.
    • Load Balancer: Während der Bereitstellung kann ArcGIS Enterprise on Kubernetes ausgewählte Cloud-Load Balancer mit dem Azure Load Balancer (extern und intern) und dem AWS Network Load Balancer (NLB-External und NLB-Internal) bereitstellen. Bei jeder Option werden Sie zur Angabe der IP-Adresse des Load Balancers aufgefordert. In dieser Version wird diese Option nur durch Azure Load Balancer unterstützt; AWS EKS unterstützt die Option mit der Load-Balancer-IP-Adresse nicht. Bei Verwendung von OpenShift können Sie Routen verwenden, was in der Regel von HAProxy- oder Big-IP-basierten Load Balancern unterstützt wird.
    • Namespace: Der Namespace des Kubernetes-Clusters, in dem ArcGIS Enterprise on Kubernetes bereitgestellt 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 Nur-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.
    • Registry Host: Der vollständig qualifizierte Domänenname (FQDN) des Registrierungs-Hosts für den Container (z. B. docker.io).
    • Image Path: Das Image-Repository, aus dem die Container-Images abgerufen werden (z. B. esridocker).
    • Registry Username: Der Benutzername des Kontos in der angegebenen Containerregistrierung, in der die Berechtigungen zum Abrufen von Daten aus der Registrierung gespeichert sind.
      Vorsicht:

      Das Containerregistrierungskonto, das Sie angeben, sollte über Mindestberechtigungen verfügen (z. B. nur zum Herunterladen von Container-Images). Standardmäßig werden die unverschlüsselten Anmeldeinformationen von Kubernetes als Secret gespeichert und abgerufen. Es wird empfohlen, kein Konto anzugeben, das über Berechtigungen zum Durchführen von Änderungen, zum Bearbeiten von Metadaten oder zum Verwalten der Containerregistrierungt verfügt.

    • Registry Password: Das Kennwort für das angegebene Containerregistrierungskonto.
    • Fully Qualified Domain Name: Der für den Zugriff auf ArcGIS Enterprise on Kubernetes erforderliche FQDN. Dieser verweist auf einen Load Balancer, Reverse-Proxy, Edge-Router oder sonstigen Web-Front-End-Punkt, der für die Weiterleitung von Datenverkehr an den Ingress-Controller konfiguriert wurde.
    • Context Path: Der in der URL für ArcGIS Enterprise on Kubernetes verwendete Kontextpfad (z. B. https://<FQDN>/<context path>).
      Hinweis:

      Nach Abschluss der Bereitstellung wird der hier angegebene Kontextpfad für die Konfiguration von ArcGIS Enterprise on Kubernetes Web Adaptor für die Organisation verwendet.

    • Node Port: Der Ingress-Controller stellt externen Datenverkehr über den Service-Typ "LoadBalancer" oder "NodePort" bereit. Der Port-Bereich kann zwischen 30000 und 32767 liegen. Wenn kein Port angegeben wird, weist Kubernetes automatisch einen verfügbaren Port im diesem Bereich zu.
    • TLS Certificate: Für den FQDN und den alternativen Namen (SAN) ist ein (selbstsigniertes oder von der Zertifizierungsstelle eines Drittanbieters signiertes) TLS-Zertifikat erforderlich. Dies ist das Standard-TLS-Zertifikat für den Ingress-Controller.

Wenn Sie alle gültigen Parameter angegeben haben, wird in Ihrem Arbeitsverzeichnis eine Eigenschaftendatei gespeichert. Mit dieser Eigenschaftendatei können Sie künftige Bereitstellungen automatisieren oder die Bereitstellung von ArcGIS Enterprise on Kubernetes aufheben.

Hinweis:

Nach Erstellung der Eigenschaftendatei können Sie die enthaltenen Parameter an die Anforderungen Ihrer Bereitstellung anpassen. Wenn es z. B. in Ihrer Organisation erforderlich ist, Container ohne Berechtigungen auszuführen, müssen Sie vor der Bereitstellung die Eigenschaft ALLOWED_PRIVILEGED_CONTAINERS=false aktualisieren. Weitere Informationen finden Sie unten unter Zusätzliche Eigenschaften für die automatische Bereitstellung.

Der letzte Bereitstellungsschritt besteht im Erstellen Ihrer ArcGIS Enterprise-Organisation.

Tipp:

Das Bereitstellungsskript validiert die Voraussetzungen wie einen gültigen Namespace mithilfe von kubectl-Befehlen. Wenn der Befehl kubectl aufgrund eines Problems mit dem Netzwerk oder der Firewall nicht mit dem Cluster kommunizieren kann, reagiert das Bereitstellungsskript möglicherweise nicht mehr. Beenden Sie in diesem Fall den Befehl ./deploy.sh, und führen Sie kubectl direkt von einem Terminal aus, um die Kommunikation mit dem Cluster zu initiieren.

Ausführen des Bereitstellungsskripts im automatischen Modus

Statt das Bereitstellungsskript im interaktiven Modus auszuführen, können Sie ArcGIS Enterprise on Kubernetes auch automatisch bereitstellen. Das Bereitstellungsskript wird mit einer deploy.properties-Datei gebündelt, die eine Reihe von Parametern bereitstellt, welche zu eindeutigen Eingaben für die ArcGIS Enterprise on Kubernetes-Bereitstellung auffordern.

Hinweis:
Es wird empfohlen, das Werkzeug password-encrypt.sh auszuführen, um verschlüsselte Kennwörter für die Verwendung in der deploy.properties-Datei zu generieren.

  1. Öffnen Sie auf dem Kubernetes-Client-Computer eine Terminalsitzung als Administrator.
  2. Ändern Sie die Verzeichnisse in die Speicherorte des Bereitstellungsskripts und der Datei deploy.properties.
  3. Öffnen Sie die Datei deploy.properties.
  4. Eine Übersicht über die Benutzereingaben finden Sie in den beschreibenden Kommentaren in der Datei. Geben Sie für die in der Datei aufgeführten Parameter Werte an.

    Die Datei ist in die folgenden Abschnitte unterteilt:

    • Deployment platform
    • Namespace
    • Encryption keyfile
    • Container registry
    • Fully Qualified Domain Name (FQDN)
    • TLS certificate
    • Zusätzliche Eigenschaften
  5. Speichern Sie die Datei. Benennen Sie die Datei bei Bedarf um.
  6. Führen Sie im Terminal das Bereitstellungsskript mit dem folgenden Befehlsformat aus:
    ./deploy.sh -f <user_properties>
    

Der Inhalt von <user properties> wird aus der deploy.properties-Datei abgeleitet.

Vor der Bereitstellung von ArcGIS Enterprise on Kubernetes wird mit dem Bereitstellungsskript geprüft, ob Ihr System die Mindestsystemanforderungen erfüllt und ob Sie für die in der Datei deploy.properties aufgeführten Parameter gültige Werte eingegeben haben.

Der letzte Bereitstellungsschritt besteht im Erstellen Ihrer ArcGIS Enterprise-Organisation.

Zusätzliche Eigenschaften für die automatische Bereitstellung

Die Datei deploy.properties enthält zusätzliche Eigenschaften, die bei der automatischen Bereitstellung verwendet werden können. Die Standardwerte für jede Eigenschaft sind angegeben.

ALLOWED_PRIVILEGED_CONTAINERS=true: Wenn Sie keinen Container mit Berechtigungen ausführen können, legen Sie diesen Wert auf false fest. In diesem Fall müssen Sie außerdem den Befehl # "sysctl -w vm.max_map_count=262144" als Root-Benutzer ausführen, um vm.max_map_count auf allen Knoten in Ihrem Cluster auf 262144 zu erhöhen.

CONTAINER_IMAGE_PULL_POLICY="Always": Wenn neue Container gestartet werden, bestimmt ImagePullPolicy, ob ein neues Container-Image aus der Container-Registrierung abgerufen wird. Die Standardeinstellung "Always" bewirkt, dass bei jedem Start eines Containers ein neues Image abgerufen wird. Soll ein neues Image nur dann abgerufen werden, wenn noch kein Image vorhanden ist, legen Sie diesen Wert auf "IfNotPresent" fest.

INGRESS_HSTS_ENABLED=false: HSTS (HTTP Strict Transport Security) bietet eine zusätzliche Sicherheitsebene für den Webdatenverkehr Ihrer Organisation. Standardmäßig ist die Option für das HSTS-Protokoll auf false festgelegt. Um HSTS zu aktivieren, legen Sie diesen Wert auf true fest.

INGRESS_SSL_PROTOCOLS="TLSv1.2 TLSv1.3": Legt die zu verwendenden SSL-Protokolle fest. Die Standardeinstellung ist "TLSv1.2 TLSv1.3". Falls zusätzliche TLS-Versionen zugelassen werden müssen, geben Sie diese hier an.

INGRESS_SSL_CIPHERS="ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-CHACHA20-POLY1305:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA": Diese Eigenschaft legt die Liste der zu aktivierenden SSL-Verschlüsselungen fest. Falls zusätzliche SSL-Verschlüsselungen erforderlich sind, geben Sie diese hier an.

K8S_CLUSTER_DOMAIN="${K8S_CLUSTER_DOMAIN:-cluster.local}": Wenn Sie über ein benutzerdefiniertes DNS für Services und Pods verfügen (z. B. organisation.com), können Sie mit dieser Eigenschaft erlauben, dass ArcGIS Enterprise on Kubernetes das benutzerdefinierte DNS verwendet. Der Standardwert ist cluster.local.