Bereitstellen eines Clusters in Amazon Elastic Kubernetes Service

Bevor Sie ArcGIS Enterprise on Kubernetes in Amazon Web Services (AWS) bereitstellen, müssen Sie einen Amazon Elastic Kubernetes Service (EKS)-Cluster vorbereiten, der die Systemanforderungen von ArcGIS Enterprise erfüllt.

Die Vorbereitung eines EKS-Clusters besteht einerseits aus allgemeinen Schritten, die für alle unterstützten Umgebungen durchgeführt werden müssen – wie z. B. der Einrichtung des Kubernetes-Clusters und der zugehörigen Knoten – und andererseits aus umgebungsspezifischen Schritten wie dem Konfigurieren von AWS Identity and Access Management (IAM)-Rollen.

Lesen Sie sich die folgenden Schritte sorgfältig durch. Genauere Anweisungen für die Vorbereitung Ihrer Umgebung finden Sie in der AWS-Dokumentation.

  1. Erstellen Sie eine Amazon Virtual Private Cloud (VPC).

    Sie müssen eine VPC erstellen, die sowohl die Amazon EKS-Anforderungen als auch die Skalierbarkeitsanforderungen von ArcGIS Enterprise on Kubernetes erfüllt.

    Bei einer großen Kubernetes-Bereitstellung werden u. U. Tausende von IP-Adressen verbraucht. Sobald ein Cluster erstellt wurde, können die Classless Inter-Domain Routing-(CIDR-)Bereiche der VPC und die verbundenen Subnetze nicht mehr geändert werden.

    Wie viele IP-Adressen Sie benötigen, hängt größtenteils von der Anzahl der Arbeitslasten innerhalb des Clusters ab. Skalierbarkeitstest haben jedoch gezeigt, dass jedes Subnetz mindestens mit einer Subnetzmaske von /18 konfiguriert werden sollte. Dadurch sind mehr als 16.000 IP-Adressen pro Subnetz verfügbar.

  2. Optional können Sie auch die Umschlagverschlüsselung für Secrets aktivieren und einen Key Management Service-(KMS-)Schlüssel erstellen.

    Für den EKS-Cluster empfiehlt es sich, die Umschlagverschlüsselung für in etcd gespeicherte Secrets zu aktivieren. Hierfür muss in Amazon EKS ein symmetrischer Verschlüsselungsschlüssel vorhanden sein.

    Hinweis:

    Sobald die Umschlagverschlüsselung für einen Cluster aktiviert worden ist, kann sie nicht mehr deaktiviert werden. Sie kann bei Bedarf für einen vorhandenen Cluster aktiviert werden.

  3. Erstellen Sie einen EKS-Cluster.

    Wenn Sie einen EKS-Cluster erstellen, müssen Sie die VPC, die Subnetze, die IAM-Rolle und den KMS-Schlüssel referenzieren, die in den vorherigen Schritten erstellt worden sind. ArcGIS Enterprise on Kubernetes wird unter AWS Fargate nicht unterstützt, da die zugrunde liegenden Knoten nicht konfiguriert werden können.

    Die Kubernetes-Version des Clusters muss der in den Systemanforderungen aufgeführten Version entsprechen.

  4. Erstellen Sie eine Knotengruppen-IAM-Rolle.

    Sobald ein Cluster erstellt wurde, müssen Sie eine Worker-Knotengruppe erstellen. Um eine Knotengruppe erstellen zu können, benötigen Sie eine zusätzliche IAM-Rolle, mit der die AWS-Services definiert werden, auf die die zugehörigen EC2-Instanzen zugreifen können.

  5. Erstellen Sie eine Knotengruppe.

    Nach der Erstellung hat ein Cluster keine planbaren Worker-Knoten mehr. Zur Bereitstellung von Arbeitslasten für den Cluster wird mindestens eine Knotengruppe benötigt, damit die zugehörigen Pods starten. Es empfiehlt sich, eine verwaltete Knotengruppe zu verwenden, um Upgrades des Clusters in Zukunft zu vereinfachen.

  6. Aktualisieren Sie die kubectl-Konfiguration.

    Nach der Erstellung des Clusters können Sie mit der AWS-Befehlszeilenschnittstelle (Command Line Interface, CLI) die Admin-Verbindungsinformationen für den Cluster per Pull in die kubeconfig-Datei übertragen. Verwenden Sie dazu den folgenden Befehl:

    aws eks update-kubeconfig -name <CLUSTER_NAME> --region <REGION>
    
  7. Erstellen Sie eine Cluster-IAM-Rolle.

    Für einen Amazon EKS-Cluster wird eine IAM-Rolle benötigt, mit der definiert wird, auf welche Ressourcen der Cluster zugreifen kann. ArcGIS Enterprise on Kubernetes hat abgesehen davon, was für AWS vorgesehen ist, keinerlei Anforderungen.

  8. Erstellen Sie einen OpenID Connect-(OIDC-)Identity-Provider.

    Um aus dem Cluster über eine Schnittstelle eine Verbindung zu anderen AWS-Services herzustellen, empfiehlt AWS einen OIDC-Provider. Dieser Provider verbindet den Kubernetes-Cluster mit der AWS-Organisation, damit den Kubernetes-Service-Konten der Zugriff auf AWS-Ressourcen möglich ist. In Bezug auf ArcGIS Enterprise on Kubernetes wird dies empfohlen, damit der AWS Load Balancer Controller und der Amazon Elastic Block Store-(EBS-)Container Storage Interface-(CSI-)Treiber funktionieren. Durch diese beiden Add-ons wird der mit der Bereitstellung von ArcGIS Enterprise on Kubernetes verbundene administrative Aufwand reduziert.

  9. Installieren Sie das Load Balancer Controller-Add-On.

    In EKS stehen Administratoren zahlreiche Möglichkeiten zur Verfügung, Datenverkehr zu einem Cluster zu leiten. Zur Verwendung eines Load Balancers muss ein Administrator den Load Balancer Controller installieren. Der AWS Load Balancer Controller verwaltet AWS Elastic Load Balancer für einen Kubernetes-Cluster.

    Während des Bereitstellungsprozesses kann ein Administrator einen Load Balancer über das Bereitstellungsskript bereitstellen. Beim Ausführen des Skripts legt der Load Balancer Controller den Network Load Balancer (intern oder extern), die Zielgruppe, die Sicherheitsgruppen und andere Einstellungen für das Routing zu den Worker-Knoten fest.

    Alternativ kann ein Administrator einen Ingress-Controller auf Clusterebene für das Routing des Verkehrs verwenden, wofür jedoch zusätzliche Schritte erforderlich sind. Wenn ein Administrator den Ingress-Controller auf Clusterebene verwendet, stellt das Skript den Application Load Balancer (ALB) nicht bereit. Informationen zu den weiteren Schritten zur Nutzung von Application Load Balancing auf EKS finden Sie hier. Mithilfe eines Ingress-Controllers auf Clusterebene legt der Load Balancer Controller den ALB, die Zielgruppe, die Sicherheitsgruppen und andere Einstellungen fest, um das Routing zu den Worker-Knoten zu verwalten.

  10. Installieren Sie das Amazon EBS CSI-Treiber-Add-On.

    Der Amazon EBS CSI-Treiber ist eine Voraussetzung von Amazon EKS ab Version 1.23. Er ermöglicht eine dynamische Bereitstellung von EBS-Volumes über Ansprüche auf persistente Volumes (Persistent Volume Claims, PVCs) im Cluster. Der erste Schritt ist die Erstellung einer IAM-Rolle und eines Kubernetes-Service-Kontos für den CSI-Treiber. Im zweiten Schritt werden die Arbeitslasten des CSI-Treibers für den Cluster bereitgestellt.

    Für die Verwendung der neuesten EBS-Volume-Klasse empfiehlt es sich, eine Speicherklasse zu erstellen, die auf den gp3-Typ verweist. Wenden Sie die entsprechende .yaml-Datei mit dem folgenden Befehl auf den Cluster an:

    kubectl apply -f <storageClass.yaml>
    

Nachdem Sie einen Namespace im Kubernetes-Cluster erstellt haben, können Sie den EKS-Cluster konfigurieren und für ArcGIS Enterprise bereitstellen. Weisen Sie bei der Bereitstellung ArcGIS Enterprise an, den Load Balancer zu erstellen. Verweisen Sie beim Konfigurieren Ihrer Organisation auf die Speicherklasse, die Sie erstellt haben.