Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Anforderungen an Kubernetes-Cluster in AWS

Beitragende

Sie können verwaltete Amazon Elastic Kubernetes Service (EKS) Cluster oder automatisierte Kubernetes-Cluster auf AWS zu BlueXP hinzufügen. Bevor Sie die Cluster zu BlueXP hinzufügen können, müssen Sie sicherstellen, dass die folgenden Anforderungen erfüllt sind.

Hinweis In diesem Thema wird Kubernetes Cluster verwendet, wobei die Konfiguration für EKS und selbst gemanagte Kubernetes Cluster identisch ist. Der Cluster-Typ wird bei unterschiedlich der Konfiguration angegeben.

Anforderungen

Astra Trident

Eine der vier aktuellsten Versionen von Astra Trident ist erforderlich. Sie können Astra Trident direkt von BlueXP installieren oder aktualisieren. Sollten Sie "Prüfen Sie die Voraussetzungen" Vor der Installation von Astra Trident:

Cloud Volumes ONTAP

Cloud Volumes ONTAP für AWS muss als Back-End Storage für den Cluster eingerichtet werden. "In der Astra Trident Dokumentation finden Sie die Konfigurationsschritte".

BlueXP Connector

Ein Connector muss in AWS mit den erforderlichen Berechtigungen ausgeführt werden. Weitere Informationen finden Sie unten.

Netzwerk-Konnektivität

Zwischen dem Kubernetes-Cluster und dem Connector sowie zwischen dem Kubernetes-Cluster und Cloud Volumes ONTAP ist eine Netzwerkverbindung erforderlich. Weitere Informationen finden Sie unten.

RBAC-Autorisierung

Die BlueXP Connector-Rolle muss für jeden Kubernetes-Cluster autorisiert sein. Weitere Informationen finden Sie unten.

Bereiten Sie einen Konnektor vor

Für die Erkennung und das Management von Kubernetes-Clustern ist in AWS ein BlueXP Connector erforderlich. Sie müssen einen neuen Konnektor erstellen oder einen vorhandenen Konnektor verwenden, der über die erforderlichen Berechtigungen verfügt.

Fügen Sie die erforderlichen Berechtigungen einem vorhandenen Konnektor hinzu

Ab Version 3.9.13 enthalten alle neu erstellten _Connectors drei neue AWS Berechtigungen, die das Erkennen und Managen von Kubernetes-Clustern ermöglichen. Wenn Sie vor dieser Version einen Connector erstellt haben, müssen Sie die vorhandene Richtlinie für die IAM-Rolle des Connectors ändern, um die Berechtigungen bereitzustellen.

Schritte
  1. Gehen Sie zur AWS Konsole und öffnen Sie den EC2 Service.

  2. Wählen Sie die Connector-Instanz aus, klicken Sie auf Sicherheit und klicken Sie auf den Namen der IAM-Rolle, um die Rolle im IAM-Service anzuzeigen.

    Ein Screenshot der AWS Konsole, in dem der Name der IAM-Rolle auf der Registerkarte Sicherheit angezeigt wird.

  3. Erweitern Sie auf der Registerkarte Berechtigungen die Richtlinie und klicken Sie auf Richtlinie bearbeiten.

    Ein Screenshot der AWS Konsole, in dem die Schaltfläche „Richtlinie bearbeiten“ auf der Registerkarte „Berechtigungen“ angezeigt wird.

  4. Klicken Sie auf JSON und fügen Sie unter dem ersten Satz von Aktionen die folgenden Berechtigungen hinzu:

    • ec2:DescribeRegionen

    • eks:ListClusters

    • eks:DescribeCluster

    • iam:GetInstanceProfile

  5. Klicken Sie auf Richtlinie überprüfen und dann auf Änderungen speichern.

Netzwerkanforderungen prüfen

Sie müssen für die Netzwerkverbindung zwischen dem Kubernetes-Cluster und dem Connector sowie zwischen dem Kubernetes-Cluster und dem Cloud Volumes ONTAP-System sorgen, das dem Cluster Back-End-Storage bereitstellt.

  • Jeder Kubernetes-Cluster muss über eine eingehende Verbindung vom Connector verfügen

  • Der Connector muss über Port 443 eine ausgehende Verbindung zu jedem Kubernetes-Cluster haben

Die einfachste Möglichkeit für diese Konnektivität ist die Implementierung von Connector und Cloud Volumes ONTAP in derselben VPC wie der Kubernetes-Cluster. Andernfalls müssen Sie eine VPC-Peering-Verbindung zwischen den verschiedenen VPCs einrichten.

In diesem Beispiel wird jede Komponente in derselben VPC angezeigt.

Architekturdiagramm für einen EKS Kubernetes-Cluster und dessen Verbindung zu einem Connecter und Cloud Volumes ONTAP in derselben VPC

Ein weiteres Beispiel zeigt einen EKS-Cluster, der in einem anderen VPC ausgeführt wird. In diesem Beispiel stellt VPC Peering eine Verbindung zwischen der VPC für das EKS-Cluster und der VPC für den Connector und Cloud Volumes ONTAP her.

Architekturdiagramm für einen EKS Kubernetes-Cluster und dessen Verbindung zu einem Connecter und Cloud Volumes ONTAP in einem separaten VPC

Einrichtung der RBAC-Autorisierung

Sie müssen die Connector-Rolle auf jedem Kubernetes-Cluster autorisieren, damit der Connector einen Cluster ermitteln und verwalten kann.

Es ist eine andere Autorisierung erforderlich, um andere Funktionen zu aktivieren.

Backup und Restore

Für Backup und Restore ist nur eine Grundautorisierung erforderlich.

Fügen Sie Speicherklassen hinzu

Erweiterte Autorisierung ist erforderlich, um Speicherklassen mithilfe von BlueXP hinzuzufügen und den Cluster auf Änderungen am Backend zu überwachen.

Installieren Sie Astra Trident

Zur Installation von Astra Trident müssen Sie für BlueXP die vollständige Autorisierung bereitstellen.

Hinweis Bei der Installation von Astra Trident installiert BlueXP das Astra Trident Back-End und das Kubernetes Secret, das die Zugangsdaten enthält, die Astra Trident zur Kommunikation mit dem Storage-Cluster benötigt.
Schritte
  1. Erstellen Sie eine Cluster-Rolle und Rollenbindung.

    1. Sie können die Autorisierung an Ihre Anforderungen anpassen.

      Backup/Restore

      Fügen Sie eine grundlegende Autorisierung hinzu, um Backup und Restore für Kubernetes-Cluster zu ermöglichen.

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
          name: cloudmanager-access-clusterrole
      rules:
          - apiGroups:
                - ''
            resources:
                - namespaces
            verbs:
                - list
                - watch
          - apiGroups:
                - ''
            resources:
                - persistentvolumes
            verbs:
                - list
                - watch
          - apiGroups:
                - ''
            resources:
                - pods
                - pods/exec
            verbs:
                - get
                - list
                - watch
          - apiGroups:
                - ''
            resources:
                - persistentvolumeclaims
            verbs:
                - list
                - create
                - watch
          - apiGroups:
                - storage.k8s.io
            resources:
                - storageclasses
            verbs:
                - list
          - apiGroups:
                - trident.netapp.io
            resources:
                - tridentbackends
            verbs:
                - list
                - watch
          - apiGroups:
                - trident.netapp.io
            resources:
                - tridentorchestrators
            verbs:
                - get
                - watch
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
          name: k8s-access-binding
      subjects:
          - kind: Group
            name: cloudmanager-access-group
            apiGroup: rbac.authorization.k8s.io
      roleRef:
          kind: ClusterRole
          name: cloudmanager-access-clusterrole
          apiGroup: rbac.authorization.k8s.io
      Speicherklassen

      Fügen Sie erweiterte Berechtigungen hinzu, um Speicherklassen mithilfe von BlueXP hinzuzufügen.

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
          name: cloudmanager-access-clusterrole
      rules:
          - apiGroups:
                - ''
            resources:
                - secrets
                - namespaces
                - persistentvolumeclaims
                - persistentvolumes
                - pods
                - pods/exec
            verbs:
                - get
                - list
                - watch
                - create
                - delete
                - watch
          - apiGroups:
                - storage.k8s.io
            resources:
                - storageclasses
            verbs:
                - get
                - create
                - list
                - watch
                - delete
                - patch
          - apiGroups:
                - trident.netapp.io
            resources:
                - tridentbackends
                - tridentorchestrators
                - tridentbackendconfigs
            verbs:
                - get
                - list
                - watch
                - create
                - delete
                - watch
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
          name: k8s-access-binding
      subjects:
          - kind: Group
            name: cloudmanager-access-group
            apiGroup: rbac.authorization.k8s.io
      roleRef:
          kind: ClusterRole
          name: cloudmanager-access-clusterrole
          apiGroup: rbac.authorization.k8s.io
      Installation von Trident

      Über die Befehlszeile erhalten Sie die vollständige Autorisierung, und BlueXP kann Astra Trident installieren.

      eksctl create iamidentitymapping --cluster < > --region < > --arn < > --group "system:masters" --username system:node:{{EC2PrivateDNSName}}
    2. Wenden Sie die Konfiguration auf ein Cluster an.

      kubectl apply -f <file-name>
  2. Erstellen Sie eine Identitätszuordnung zur Berechtigungsgruppe.

    Verwenden Sie eksctl

    Verwenden Sie eksctl, um eine IAM-Identitätszuordnung zwischen einem Cluster und der IAM-Rolle für den BlueXP Connector zu erstellen.

    Im Folgenden finden Sie ein Beispiel.

    eksctl create iamidentitymapping --cluster <eksCluster> --region <us-east-2> --arn <ARN of the Connector IAM role> --group cloudmanager-access-group --username system:node:{{EC2PrivateDNSName}}
    Bearbeiten von aws-auth

    Bearbeiten Sie die aws-auth ConfigMap direkt, um dem BlueXP Connector den RBAC-Zugriff auf die IAM-Rolle hinzuzufügen.

    Im Folgenden finden Sie ein Beispiel.

    apiVersion: v1
    data:
      mapRoles: |
        - groups:
          - cloudmanager-access-group
          rolearn: <ARN of the Connector IAM role>
         username: system:node:{{EC2PrivateDNSName}}
    kind: ConfigMap
    metadata:
      creationTimestamp: "2021-09-30T21:09:18Z"
      name: aws-auth
      namespace: kube-system
      resourceVersion: "1021"
      selfLink: /api/v1/namespaces/kube-system/configmaps/aws-auth
      uid: dcc31de5-3838-11e8-af26-02e00430057c