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, und rufen Sie die AWS-Dokumentation auf, wenn Sie genauere Anweisungen für die Vorbereitung Ihrer Umgebung wünschen.

  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 wir eine IAM-Rolle benötigt, mit der definiert wird, auf welche Ressourcen der Cluster Zugriff hat. 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 administrative Aufwand, der mit der Bereitstellung von ArcGIS Enterprise on Kubernetes verbunden ist, erheblich reduziert.

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

    Der AWS Load Balancer Controller ermöglicht die Bereitstellung eines Network Load Balancer (intern oder extern) während des Bereitstellungsprozesses. Darüber hinaus sorgt der Controller für die Erstellung der Zielgruppe, der Sicherheitsgruppen und weiterer Einstellungen, mit denen das Routing vom Network Load Balancer zu den Worker-Knoten erfolgt.

    Ist der Load Balancer manuell erstellt worden, müssen diese Einstellungen manuell konfiguriert werden. Der erste Schritt besteht in der Erstellung der IAM-Rolle und eines Kubernetes-Service-Kontos. Im zweiten Schritt werden die AWS-Load Balancer Controller-Arbeitslasten für den Cluster bereitgestellt.

  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 Persistent Volume Claims (PVCs) innerhalb des Clusters. Der erste große 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.

    Um die neueste EBS-Volume-Klasse zu nutzen, empfiehlt es sich, eine Speicherklasse zu erstellen, die auf den gp3-Typ verweist. Wenden Sie mit dem folgenden Befehl die entsprechende YAML-Datei auf den Cluster an:

    kubectl apply -f <storageClass.yaml>
    

    Weitere Informationen finden Sie in der Beispiel-YAML-Datei für die Standardspeicherklasse und der Beispiel-YAML-Datei für die Sicherungsspeicherklasse.

Sobald Sie einen Namespace in Ihrem Kubernetes-Cluster erstellt haben, sollten Sie mit dem EKS-Cluster ArcGIS Enterprise bereitstellen und konfigurieren können. Denken Sie bei der Bereitstellung daran, ArcGIS Enterprise anzuweisen, den Load Balancer zu erstellen. Verweisen Sie beim Konfigurieren Ihrer Organisation unbedingt auf die Speicherklasse, die Sie erstellt haben.