Anforderungen an Kubernetes Cluster in Azure
Verwaltete Azure Kubernetes-Cluster (AKS) und automatisierte Kubernetes-Cluster in Azure können mithilfe von BlueXP hinzugefügt und gemanagt werden. Bevor Sie die Cluster zu BlueXP hinzufügen können, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind.
In diesem Thema wird Kubernetes Cluster verwendet, wobei die Konfiguration für AKS 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 muss als Back-End Storage für den Cluster eingerichtet werden. "In der Astra Trident Dokumentation finden Sie die Konfigurationsschritte".
- BlueXP Connector
-
In Azure muss ein Connector 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
-
BlueXP unterstützt RBAC-fähige Cluster mit und ohne Active Directory. Die BlueXP Connector-Rolle muss für jeden Azure-Cluster autorisiert sein. Weitere Informationen finden Sie unten.
Bereiten Sie einen Konnektor vor
Für das Erkennen und Managen von Kubernetes-Clustern ist ein BlueXP Connector in Azure erforderlich. Sie müssen einen neuen Konnektor erstellen oder einen vorhandenen Konnektor verwenden, der über die erforderlichen Berechtigungen verfügt.
Erstellen Sie einen neuen Konnektor
Folgen Sie den Schritten in einem der nachfolgenden Links.
Fügen Sie die erforderlichen Berechtigungen einem bestehenden Connector hinzu (um ein verwaltetes AKS-Cluster zu ermitteln)
Wenn Sie einen verwalteten AKS-Cluster ermitteln möchten, müssen Sie möglicherweise die benutzerdefinierte Rolle ändern, damit der Connector die Berechtigungen bereitstellen kann.
-
Identifizieren Sie die Rolle, die der virtuellen Konnektor-Maschine zugewiesen ist:
-
Öffnen Sie im Azure-Portal den Virtual Machines-Service.
-
Wählen Sie die virtuelle Verbindungsmaschine aus.
-
Wählen Sie unter Einstellungen Identität aus.
-
Klicken Sie auf Azure Rollenzuweisungen.
-
Notieren Sie sich die benutzerdefinierte Rolle, die der virtuellen Connector-Maschine zugewiesen ist.
-
-
Aktualisieren der benutzerdefinierten Rolle:
-
Öffnen Sie im Azure-Portal Ihr Azure-Abonnement.
-
Klicken Sie auf Zugriffskontrolle (IAM) > Rollen.
-
Klicken Sie auf die Ellipsen (…) für die benutzerdefinierte Rolle und dann auf Bearbeiten.
-
Klicken Sie auf JSON und fügen Sie die folgenden Berechtigungen hinzu:
"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action" "Microsoft.ContainerService/managedClusters/read"
-
Klicken Sie auf Review + Update und dann auf Update.
-
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, diese Konnektivität bereitzustellen, ist die Implementierung von Connector und Cloud Volumes ONTAP im selben vnet wie der Kubernetes-Cluster. Andernfalls müssen Sie eine Peering-Verbindung zwischen den verschiedenen VNets einrichten.
Hier ein Beispiel, das jede Komponente im selben vnet zeigt.
Ein weiteres Beispiel zeigt einen Kubernetes Cluster, der in einem anderen vnet ausgeführt wird. In diesem Beispiel stellt Peering eine Verbindung zwischen dem vnet für den Kubernetes-Cluster und dem vnet für den Connector und Cloud Volumes ONTAP bereit.
Einrichtung der RBAC-Autorisierung
Die RBAC-Validierung erfolgt nur auf Kubernetes Clustern mit aktiviertem Active Directory (AD). Kubernetes-Cluster ohne AD bestehen die Validierung automatisch.
Sie benötigen für jeden Kubernetes Cluster eine Autorisierung der Connector-Rolle, damit der Connector einen Cluster ermitteln und verwalten kann.
- 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.
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.
Ihre RBAC subjects: name:
Die Konfiguration variiert basierend auf Ihrem Kubernetes-Cluster-Typ leicht.
-
Wenn Sie einen verwalteten AKS-Cluster bereitstellen, benötigen Sie die Objekt-ID für die vom System zugewiesene verwaltete Identität für den Connector. Diese ID steht im Azure-Managementportal zur Verfügung.
-
Wenn Sie ein selbst verwaltetes Kubernetes Cluster bereitstellen, benötigen Sie den Benutzernamen eines autorisierten Benutzers.
Erstellen Sie eine Cluster-Rolle und Rollenbindung.
-
Sie können die Autorisierung an Ihre Anforderungen anpassen.
Backup/RestoreFügen Sie eine grundlegende Autorisierung hinzu, um Backup und Restore für Kubernetes-Cluster zu ermöglichen.
Ersetzen Sie den
subjects: kind:
Variable mit Ihrem Benutzernamen undsubjects: name:
Entweder mit der Objekt-ID für die vom System zugewiesene verwaltete Identität oder mit dem Benutzernamen eines autorisierten Benutzers, wie oben beschrieben.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: User name: apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cloudmanager-access-clusterrole apiGroup: rbac.authorization.k8s.io
SpeicherklassenFügen Sie erweiterte Berechtigungen hinzu, um Speicherklassen mithilfe von BlueXP hinzuzufügen.
Ersetzen Sie den
subjects: kind:
Variable mit Ihrem Benutzernamen undsubjects: user:
Entweder mit der Objekt-ID für die vom System zugewiesene verwaltete Identität oder mit dem Benutzernamen eines autorisierten Benutzers, wie oben beschrieben.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: User name: 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}}
-
Wenden Sie die Konfiguration auf ein Cluster an.
kubectl apply -f <file-name>