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

Managen Sie Kubernetes Cluster über den Astra Control Service

Beitragende

Nach der Einrichtung der Umgebung erstellen Sie sofort einen Kubernetes Cluster und fügen ihn dann dem Astra Control Service hinzu.

Erstellen eines Kubernetes-Clusters

Wenn Sie noch keinen Cluster haben, können Sie ein Cluster erstellen, das erfüllt "Astra Control Service-Anforderungen für Amazon Elastic Kubernetes Service (EKS)". Wenn Sie noch keinen Cluster haben, können Sie ein Cluster erstellen, das erfüllt "Astra Control Service-Anforderungen für Google Kubernetes Engine (GKE)". Wenn Sie noch keinen Cluster haben, können Sie ein Cluster erstellen, das erfüllt "Astra Control Service-Anforderungen für Azure Kubernetes Service (AKS) mit Azure NetApp Files" Oder "Astra Control Service-Anforderungen für Azure Kubernetes Service (AKS) mit von Azure gemanagten Festplatten".

Anmerkung Astra Control Service unterstützt AKS-Cluster, die Azure Active Directory (Azure AD) zur Authentifizierung und Identitätsverwaltung nutzen. Wenn Sie das Cluster erstellen, befolgen Sie die Anweisungen im "Offizielle Dokumentation" Um den Cluster mit Azure AD zu konfigurieren. Stellen Sie sicher, dass Ihre Cluster die Anforderungen für die AKS-verwaltete Azure AD-Integration erfüllen.

Selbstverwaltete Cluster

Ein selbstverwalteter Cluster ist ein Cluster, den Sie direkt bereitstellen und managen können. Astra Control Service unterstützt selbst gemanagte Cluster, die in einer Public-Cloud-Umgebung ausgeführt werden. Sie können einen selbstverwalteten Cluster zum Astra Control Service hinzufügen, indem Sie ein hochladen kubeconfig.yaml Datei: Sie müssen sicherstellen, dass der Cluster die in aufgeführten Anforderungen erfüllt Verwalten Sie Kubernetes-Cluster.

Verwalten Sie Kubernetes-Cluster

Nachdem Sie sich beim Astra Control Service angemeldet haben, beginnen Sie zunächst mit dem Verwalten Ihrer Cluster. Sie können ein von einem Cloud-Provider gemanagtes Cluster oder einen Self-Managed Cluster hinzufügen. Bevor Sie Astra Control Service ein Cluster hinzufügen, müssen Sie bestimmte Aufgaben ausführen und sicherstellen, dass das Cluster bestimmte Anforderungen erfüllt.

Was Sie’ll benötigen Cluster, die von einem Cloud-Provider verwaltet werden
Amazon Web Services
Microsoft Azure
Google Cloud
  • Sie sollten die Servicekontoschlüsseldatei für ein Servicekonto haben, das über die erforderlichen Berechtigungen verfügt. "Erfahren Sie, wie Sie ein Service-Konto einrichten".

  • Wenn Sie NetApp Cloud Volumes ONTAP als Storage-Backend verwenden möchten, müssen Sie Cloud Volumes ONTAP für die Zusammenarbeit mit Google Cloud konfigurieren. Weitere Informationen finden Sie im Cloud Volumes ONTAP "Setup-Dokumentation".

Was Sie’ll benötigen für selbstverwaltete Cluster

Ein selbstverwalteter Cluster ist ein Cluster, den Sie direkt bereitstellen und managen können. Astra Control Service unterstützt selbst gemanagte Cluster, die in einer Public-Cloud-Umgebung ausgeführt werden. Selbstverwaltete Cluster können über Astra Trident eine Schnittstelle zu NetApp Storage-Services aufbauen oder über CSI-Treiber (Container Storage Interface) eine Schnittstelle zu Amazon Elastic Block Store (EBS), Azure Managed Disks und Google Persistent Disk aufbauen.

Astra Control Service unterstützt selbst gemanagte Cluster, die die folgenden Kubernetes-Distributionen verwenden:

  • Red hat OpenShift Container Platform

  • Rancher Kubernetes Engine

  • Vorgelagerte Kubernetes-Systeme

Ihr Self-Managed-Cluster muss folgende Anforderungen erfüllen:

  • Der Cluster muss über das Internet zugänglich sein.

  • Der Cluster kann nicht in Ihrem On-Premises-Netzwerk gehostet werden, sondern muss in einer Public-Cloud-Umgebung gehostet werden.

  • Wenn Sie Speicher mit CSI-Treibern verwenden oder planen, diese zu verwenden, müssen auf dem Cluster die entsprechenden CSI-Treiber installiert sein. Weitere Informationen zur Verwendung von CSI-Treibern zur Integration von Speicher finden Sie in der Dokumentation Ihres Speicherservices.

  • Wenn Sie NetApp Storage nutzen oder nutzen möchten, stellen Sie sicher, dass Sie die neueste Version von Astra Trident installiert haben:

    Anmerkung Das können Sie "Implementieren Sie Astra Trident" Mit dem Trident-Operator (manuell oder mit Hilfe des Helm-Diagramms) oder tridentctl. Vor der Installation oder dem Upgrade von Astra Trident sollten Sie sich die "Unterstützte Frontends, Back-Ends und Host-Konfigurationen".
    • Trident Storage Back-End konfiguriert: Mindestens ein Astra Trident Storage-Back-End muss sein "Konfiguriert" Auf dem Cluster.

    • Trident Storage-Klassen konfiguriert: Mindestens ein Astra Trident Storage-Klasse muss sein "Konfiguriert" Auf dem Cluster. Wenn eine Standard-Storage-Klasse konfiguriert ist, stellen Sie sicher, dass nur eine Storage-Klasse diese Annotation aufweist.

    • Astra Trident Volume Snapshot Controller und Volume Snapshot Klasse installiert und konfiguriert: Der Volume Snapshot Controller muss sein "Installiert" Damit Snapshots in Astra Control erstellt werden können. Mindestens ein Astra Trident VolumeSnapshotClass Gewesen "Einrichtung" Durch einen Administrator.

  • Kubeconfig: Sie haben Zugang zum Cluster kubeconfig Das umfasst nur ein Kontextseil.

  • Rancher only: Ändern Sie beim Verwalten von Anwendungsclustern in einer Rancher-Umgebung den Standardkontext des Anwendungsclusters in der von Rancher bereitgestellten kubeconfig-Datei, um einen Steuerebenen-Kontext anstelle des Rancher API-Serverkontexts zu verwenden. So wird die Last auf dem Rancher API Server reduziert und die Performance verbessert.

(Optional) Überprüfen Sie die Astra Trident-Version

Wenn Ihr Cluster Astra Trident für Storage-Services verwendet, stellen Sie sicher, dass die aktuellste installierte Version von Astra Trident ist.

Schritte
  1. Testen Sie die Version von Astra Trident.

    kubectl get tridentversions -n trident

    Wenn Astra Trident installiert ist, wird die Ausgabe wie folgt ausgegeben:

    NAME      VERSION
    trident   22.10.0

    Wenn Astra Trident nicht installiert ist, wird die Ausgabe wie folgt angezeigt:

    error: the server doesn't have a resource type "tridentversions"
    Anmerkung Wenn Astra Trident nicht oder nicht aktuell installiert ist und der Cluster Astra Trident für Storage-Services verwenden soll, müssen Sie vor dem Fortfahren die neueste Version von Astra Trident installieren. Siehe "Astra Trident-Dokumentation" Weitere Anweisungen.
  2. Stellen Sie sicher, dass die Pods ausgeführt werden:

    kubectl get pods -n trident
  3. Prüfen Sie, ob die Storage-Klassen die unterstützten Astra Trident Treiber verwenden. Der bereitstellungsname sollte lauten csi.trident.netapp.io. Im folgenden Beispiel finden Sie weitere Informationen:

    kubectl get sc

    Beispielantwort:

    NAME                   PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
    ontap-gold (default)   csi.trident.netapp.io          Delete          Immediate           true                   5d23h
Admin-Rolle kubeconfig erstellen (gilt für Cluster, die Rancher, OpenShift und Upstream Kubernetes ausführen)

Stellen Sie sicher, dass Sie die folgenden Schritte auf Ihrem Gerät ausführen:

  • Kubectl v1.19 oder höher installiert

  • Ein aktiver kubeconfig mit Clusteradministratorrechten für den aktiven Kontext

Schritte
  1. Erstellen Sie ein Service-Konto wie folgt:

    1. Erstellen Sie eine Dienstkontendatei mit dem Namen astracontrol-service-account.yaml.

      Passen Sie Namen und Namespace nach Bedarf an. Wenn hier Änderungen vorgenommen werden, sollten Sie die gleichen Änderungen in den folgenden Schritten anwenden.

    astracontrol-service-account.yaml

    +

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: astracontrol-service-account
      namespace: default
    1. Wenden Sie das Servicekonto an:

      kubectl apply -f astracontrol-service-account.yaml
  2. Gewähren Sie Cluster-Admin-Berechtigungen wie folgt:

    1. Erstellen Sie ein ClusterRoleBinding Datei aufgerufen astracontrol-clusterrolebinding.yaml.

      Passen Sie bei Bedarf alle beim Erstellen des Dienstkontos geänderten Namen und Namespaces an.

    astracontrol-clusterrolebinding.yaml

    +

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: astracontrol-admin
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: astracontrol-service-account
      namespace: default
    1. Wenden Sie die Bindung der Cluster-Rolle an:

      kubectl apply -f astracontrol-clusterrolebinding.yaml
  3. Listen Sie die Geheimnisse des Dienstkontos auf, ersetzen Sie <context> Mit dem richtigen Kontext für Ihre Installation:

    kubectl get serviceaccount astracontrol-service-account --context <context> --namespace default -o json

    Das Ende der Ausgabe sollte wie folgt aussehen:

    "secrets": [
    { "name": "astracontrol-service-account-dockercfg-vhz87"},
    { "name": "astracontrol-service-account-token-r59kr"}
    ]

    Die Indizes für jedes Element im secrets Array beginnt mit 0. Im obigen Beispiel der Index für astracontrol-service-account-dockercfg-vhz87 Wäre 0 und der Index für astracontrol-service-account-token-r59kr Sind es 1. Notieren Sie in Ihrer Ausgabe den Index für den Namen des Dienstkontos, der das Wort „Token“ darin enthält.

  4. Erzeugen Sie den kubeconfig wie folgt:

    1. Erstellen Sie ein create-kubeconfig.sh Datei: Austausch TOKEN_INDEX Am Anfang des folgenden Skripts mit dem korrekten Wert.

      create-kubeconfig.sh
      # Update these to match your environment.
      # Replace TOKEN_INDEX with the correct value
      # from the output in the previous step. If you
      # didn't change anything else above, don't change
      # anything else here.
      
      SERVICE_ACCOUNT_NAME=astracontrol-service-account
      NAMESPACE=default
      NEW_CONTEXT=astracontrol
      KUBECONFIG_FILE='kubeconfig-sa'
      
      CONTEXT=$(kubectl config current-context)
      
      SECRET_NAME=$(kubectl get serviceaccount ${SERVICE_ACCOUNT_NAME} \
        --context ${CONTEXT} \
        --namespace ${NAMESPACE} \
        -o jsonpath='{.secrets[TOKEN_INDEX].name}')
      TOKEN_DATA=$(kubectl get secret ${SECRET_NAME} \
        --context ${CONTEXT} \
        --namespace ${NAMESPACE} \
        -o jsonpath='{.data.token}')
      
      TOKEN=$(echo ${TOKEN_DATA} | base64 -d)
      
      # Create dedicated kubeconfig
      # Create a full copy
      kubectl config view --raw > ${KUBECONFIG_FILE}.full.tmp
      
      # Switch working context to correct context
      kubectl --kubeconfig ${KUBECONFIG_FILE}.full.tmp config use-context ${CONTEXT}
      
      # Minify
      kubectl --kubeconfig ${KUBECONFIG_FILE}.full.tmp \
        config view --flatten --minify > ${KUBECONFIG_FILE}.tmp
      
      # Rename context
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        rename-context ${CONTEXT} ${NEW_CONTEXT}
      
      # Create token user
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-credentials ${CONTEXT}-${NAMESPACE}-token-user \
        --token ${TOKEN}
      
      # Set context to use token user
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-context ${NEW_CONTEXT} --user ${CONTEXT}-${NAMESPACE}-token-user
      
      # Set context to correct namespace
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        set-context ${NEW_CONTEXT} --namespace ${NAMESPACE}
      
      # Flatten/minify kubeconfig
      kubectl config --kubeconfig ${KUBECONFIG_FILE}.tmp \
        view --flatten --minify > ${KUBECONFIG_FILE}
      
      # Remove tmp
      rm ${KUBECONFIG_FILE}.full.tmp
      rm ${KUBECONFIG_FILE}.tmp
    2. Geben Sie die Befehle an, um sie auf Ihren Kubernetes-Cluster anzuwenden.

      source create-kubeconfig.sh
  5. (Optional) Umbenennen Sie die kubeconfig auf einen aussagekräftigen Namen für Ihr Cluster. Schützen Sie die Cluster-Anmeldedaten.

    chmod 700 create-kubeconfig.sh
    mv kubeconfig-sa YOUR_CLUSTER_NAME_kubeconfig
Schritte
  1. Wählen Sie im Dashboard Kubernetes Cluster managen aus.

    Befolgen Sie die Aufforderungen zum Hinzufügen des Clusters.

  2. Provider: Wählen Sie Ihren Cloud-Provider aus und geben Sie dann entweder die erforderlichen Anmeldedaten für die Erstellung einer neuen Cloud-Instanz an, oder wählen Sie eine vorhandene Cloud-Instanz aus.

  3. Amazon Web Services: Geben Sie Details über Ihr Amazon Web Services IAM-Benutzerkonto an, indem Sie eine JSON-Datei hochladen oder den Inhalt dieser JSON-Datei aus Ihrer Zwischenablage einfügen.

    Die JSON-Datei sollte die Anmeldeinformationen des IAM-Benutzers enthalten, der das Cluster erstellt hat.

  4. Microsoft Azure: Geben Sie Details zu Ihrem Azure Service Principal an, indem Sie eine JSON-Datei hochladen oder den Inhalt dieser JSON-Datei aus Ihrer Zwischenablage einfügen.

    Die JSON-Datei sollte beim Erstellen des Service-Principal die Ausgabe aus der Azure CLI enthalten. Sie können auch Ihre Abonnement-ID angeben, damit sie automatisch in den Astra aufgenommen wird. Andernfalls müssen Sie die ID manuell eingeben, nachdem Sie den JSON bereitgestellt haben.

  5. Google Cloud Platform: Stellen Sie die Service-Konto-Schlüsseldatei entweder durch das Hochladen der Datei oder durch Einfügen der Inhalte aus Ihrer Zwischenablage bereit.

    Astra Control Service nutzt das Service-Konto, um Cluster zu erkennen, die in der Google Kubernetes Engine ausgeführt werden.

  6. Other: Geben Sie Details über Ihren selbstverwalteten Cluster durch das Hochladen eines kubeconfig.yaml Datei oder durch Einfügen des Inhalts des kubeconfig.yaml Datei aus der Zwischenablage.

    Anmerkung Wenn Sie Ihre eigenen erstellen kubeconfig Datei, Sie sollten nur ein ein-Kontext-Element darin definieren. Siehe "Kubernetes-Dokumentation" Weitere Informationen zum Erstellen kubeconfig Dateien:
    1. Cloud-Instanzname (für vom Provider verwaltete Cluster): Geben Sie einen Namen für die neue Cloud-Instanz an, die beim Hinzufügen dieses Clusters erstellt wird. Weitere Informationen zu "Cloud-Instanzen".

      Anmerkung Wenn Sie aus der Cluster-Liste auswählen, achten Sie auf die entsprechende Registerkarte. Wenn eine Warnung angezeigt wird, fahren Sie mit der Warnmeldung über die Warnmeldung, um festzustellen, ob es ein Problem mit dem Cluster gibt. Beispielsweise kann sie erkennen, dass für das Cluster kein Worker Node vorhanden ist.
Anmerkung Wenn Sie einen Cluster auswählen, der mit einem „Private“-Symbol gekennzeichnet ist, verwendet er private IP-Adressen, und der Astra Connector ist erforderlich, damit Astra Control den Cluster verwalten kann. Wenn Sie eine Meldung sehen, dass Sie den Astra Connector installieren müssen, "Beachten Sie diese Anweisungen" Um den Astra Connector zu installieren und die Verwaltung des Clusters zu ermöglichen. Nach der Installation des Astra Connectors sollte der Cluster geeignet sein und Sie können das Hinzufügen des Clusters fortsetzen.
  1. Credential Name (für selbstverwaltete Cluster): Geben Sie einen Namen für die selbst verwalteten Cluster-Anmeldeinformationen an, die Sie auf Astra Control hochladen. Standardmäßig wird der Name der Anmeldeinformationen automatisch als Name des Clusters ausgefüllt.

  2. (Optional) Storage: Wählen Sie die Storage-Klasse aus, die Kubernetes-Anwendungen in diesem Cluster standardmäßig verwenden sollen.

    Anmerkung

    Jeder Storage-Service eines Cloud-Providers enthält die folgenden Informationen zu Preis, Performance und Ausfallsicherheit:

    • Cloud Volumes Service für Google Cloud: Informationen zu Preis, Performance und Ausfallsicherheit

    • Google Persistent Disk: Keine Informationen über Preis, Performance oder Ausfallsicherheit verfügbar

    • Azure NetApp Files: Informationen zu Performance und Ausfallsicherheit

    • Azure Managed Disks: Es sind weder Preis-, Performance- oder Resilience-Informationen verfügbar

    • Amazon Elastic Block Store: Keine Informationen zu Preis, Performance oder Ausfallsicherheit verfügbar

    • Amazon FSX für NetApp ONTAP: Keine Informationen zu Preis, Performance und Ausfallsicherheit verfügbar

    • NetApp Cloud Volumes ONTAP: Keine Informationen zu Preis, Performance oder Ausfallsicherheit verfügbar

    Jede Storage-Klasse kann einen der folgenden Services nutzen:

Ergebnis

Für Provider-verwaltete Cluster: Wenn dies der erste Cluster ist, den Sie für diesen Cloud-Provider hinzugefügt haben, erstellt Astra Control Service einen Objektspeicher für den Cloud-Provider für Backups von Anwendungen, die auf geeigneten Clustern ausgeführt werden. (Wenn Sie nachfolgende Cluster für diesen Cloud-Provider hinzufügen, werden keine weiteren Objektspeicher erstellt.) Wenn Sie eine Standard-Storage-Klasse angegeben haben, setzt Astra Control Service die von Ihnen angegebene Standard-Storage-Klasse ein. Für Cluster, die in Amazon Web Services oder Google Cloud Platform gemanagt werden, erstellt Astra Control Service auch ein Administratorkonto auf dem Cluster. Diese Vorgänge können mehrere Minuten dauern.

Ändern der Standard-Storage-Klasse

Sie können die Standard-Storage-Klasse für ein Cluster ändern.

Ändern Sie die Standard-Storage-Klasse mit Astra Control

Sie können die Standard-Storage-Klasse für ein Cluster aus Astra Control ändern. Wenn Ihr Cluster einen zuvor installierten Speicher-Backend-Service verwendet, können Sie diese Methode möglicherweise nicht verwenden, um die Standard-Speicherklasse zu ändern (die Aktion default ist nicht wählbar). In diesem Fall können Sie Ändern Sie die Standard-Storage-Klasse über die Befehlszeile.

Schritte
  1. Wählen Sie in der Astra Control Service-UI Cluster aus.

  2. Wählen Sie auf der Seite Cluster den Cluster aus, den Sie ändern möchten.

  3. Wählen Sie die Registerkarte Storage aus.

  4. Wählen Sie die Kategorie Speicherklassen aus.

  5. Wählen Sie das Menü Aktionen für die Speicherklasse aus, die Sie als Standard festlegen möchten.

  6. Wählen Sie als Standard.

Ändern Sie die Standard-Storage-Klasse über die Befehlszeile

Sie können die Standard-Storage-Klasse für ein Cluster mit Kubernetes-Befehlen ändern. Diese Methode funktioniert unabhängig von der Konfiguration Ihres Clusters.

Schritte
  1. Melden Sie sich bei Ihrem Kubernetes Cluster an.

  2. Listen Sie die Storage-Klassen in Ihrem Cluster auf:

    kubectl get storageclass
  3. Entfernen Sie die Standardbezeichnung aus der Standardspeicherklasse. Ersetzen Sie <SC_NAME> durch den Namen der Speicherklasse:

    kubectl patch storageclass <SC_NAME> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
  4. Markieren Sie standardmäßig eine andere Storage-Klasse. Ersetzen Sie <SC_NAME> durch den Namen der Speicherklasse:

    kubectl patch storageclass <SC_NAME> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
  5. Bestätigen Sie die neue Standard-Speicherklasse:

    kubectl get storageclass

Finden Sie weitere Informationen