Satellite Config Zugriff auf Ihre Cluster erteilen
In Clustern, die Sie an einem Satellite-Standort erstellen, werden die Satellite Config-Komponenten automatisch installiert. Sie müssen den Servicekonten, die von Satellite Config verwendet werden, jedoch die erforderlichen Zugriffsberechtigungen zum Anzeigen und Verwalten der Kubernetes-Ressourcen für jeden Cluster erteilen.
Die Konfiguration von Satellite erfordert Administratorzugriff auf Ihre Cluster, um sie zu verwalten. Sie können den Zugriff auf eine der folgenden Weisen konfigurieren.
- Automatisch während der Cluster-Erstellung. Wählen Sie diese Option, wenn Sie Satellite-Speichervorlagen verwenden möchten.
- Manuell nach der Clustererstellung Wählen Sie diese Option aus, wenn Sie einen kontrollierten Zugriff wünschen und keine Verwendung von Satellite-Speichervorlagen planen.
Wenn Sie für Satellite Config keinen Zugriff erteilen, können Sie später die Satellite Config-Funktionalität nicht verwenden, um Kubernetes-Ressourcen für Ihre Cluster anzuzeigen oder bereitzustellen.
Automatische Gewährung des Zugriffs für Satellite-Konfiguration auf Ihre Cluster
Sie können Satellite-Konfiguration Zugriff auf Ihren Cluster gewähren, indem Sie bei der Erstellung des Clusters die entsprechende Option angeben.
Um Satellite Konfigurationszugriff zur Verwaltung von Kubernetes-Ressourcen über die Konsole zu erteilen, wählen Sie beim Erstellen des Clusters Clusteradministratorzugriff für Satellite Config aktivieren aus. Geben Sie beim
Erstellen des Clusters die Option --enable-config-admin an, um den Zugriff über die Befehlszeilenschnittstelle einzurichten.
Wenn Sie zum Zeitpunkt der Clustererstellung keinen Konfigurationszugriff auf Satellite erteilt haben, befolgen Sie die Schritte unter Satellite Konfigurationszugriff auf Ihre Cluster manuell erteilen.
Manuelles Gewähren des Zugriffs auf Satellite-Konfiguration für Ihre Cluster
Falls Sie Satellite-Konfiguration bei der Clustererstellung keinen Zugriff auf Ihren Cluster gewährt haben, können Sie den Zugriff dennoch manuell einrichten.
Die folgenden Optionen stehen zur Auswahl.
- Administratorzugriff beim Erstellen eines Satellite-Clusters: Sie können Administratorberechtigungen aktivieren, wenn Sie den Cluster in der Konsole oder in der Befehlszeilenschnittstelle erstellen, indem Sie die Option
--enable-config-adminim Befehlibmcloud oc cluster create satelliteverwenden. Nach der Erstellung des Clusters müssen Sie eine einmalige Anmeldung durchführen, indem Sie in der Befehlszeile den Befehlibmcloud ks cluster configausführen. - Administratorzugriff für Cluster in der öffentlichen Cloud: Siehe Vorhandene Cluster mit Satellite Config registrieren.
- Angepasster Zugriff oder Zugriff auf Satellite-Cluster, die Sie nicht in die Administratorberechtigung eingeschlossen haben: Führen Sie folgende Schritte aus.
Vorgehensweise zum Anpassen des Zugriffs oder zum Hinzufügen von Zugriff auf Satellite-Cluster, die Sie bei der Clustererstellung nicht in die Administratorberechtigung eingeschlossen haben:
-
Erteilen Sie Satellite Config für jeden Cluster in der Clustergruppe die Zugriffsberechtigung zum Verwalten von Kubernetes-Ressourcen. Wählen Sie eine der folgenden Optionen aus: Clusteradministratorzugriff, clusterweiter angepasster Zugriff, oder angepasster Zugriff für ein Projekt. Weitere Informationen finden Sie in der Dokumentation zu Kubernetes.
Wenn Sie eine benutzerdefinierte Zugriffsoption wählen, funktionieren einige Komponenten von Satellite Config nicht. Wenn Sie beispielsweise nur Lesezugriff auf bestimmte Ressourcen gewähren, können Sie keine Kubernetes-Ressourcen in Ihrer Clustergruppe über Abonnements erstellen. Zum Anzeigen einer Bestandsliste Ihrer Kubernetes-Ressourcen in einem Cluster benötigt Satellite Config eine entsprechende Rolle, die an das Servicekonto
razee-viewergebunden ist. Um Kubernetes-Ressourcen mithilfe von Abonnements in einem Cluster bereitzustellen, muss im Satellite-Konfigurationsdienst eine entsprechende Rolle an dasrazee-editorDienstkonto gebunden sein.
Clusteradministratorzugriff
Erteilen Sie den Satellite Config-Servicekonten Zugriff auf die Clusteradministratorrolle.
kubectl create clusterrolebinding razee-cluster-admin --clusterrole=razee-cluster-admin --serviceaccount=razeedeploy:razee-viewer --serviceaccount=razeedeploy:razee-editor --serviceaccount=razeedeploy:razee-satcon
Clusterweiter angepasster Zugriff:
Erstellen Sie angepasste RBAC-Richtlinien, um Satellite Config den Zugriff auf die gewünschten Aktionen und Kubernetes-Ressourcen für den Cluster zu erteilen.
-
Erstellen Sie eine Clusterrolle mit den Aktionen und Ressourcen, die Sie zulassen möchten. Beispiel: Der folgende Befehl erstellt die Rolle eines Anzeigeberechtigten, damit Satellite Config alle Kubernetes-Ressourcen in einem Cluster zwar auflisten, jedoch nicht ändern kann.
kubectl create clusterrole razee-viewer --verb=get,list,watch --resource="*.*"Erläuterungen zu den Komponenten dieses Befehls Komponente Beschreibung razee-viewerDer Name der Clusterrolle, z. B. razee-viewer.--verb=get,list,watchEine durch Kommas getrennte Liste der Aktionen, die von der Rolle autorisiert werden. Im vorliegenden Beispiel werden die Aktionsverben get,list,watchfür typische Rollen für Anzeigeberechtigte oder Auditoren verwendet. Weitere mögliche Verben finden Sie in der Dokumentation zu Kubernetes.--resource="*.*"Eine durch Kommas getrennte Liste der Kubernetes-Ressourcen, für die diese Rolle Aktionen autorisiert. Im vorliegenden Beispiel wird Zugriff auf alle Kubernetes-Ressourcen in allen API-Gruppen ( "*.*") erteilt. Weitere mögliche Ressourcen können Sie mit dem Befehlkubectl api-resources -o wideabrufen. -
Erstellen Sie eine Clusterrollenbindung, die das Satellite Config-Servicekonto an die Clusterrolle bindet, die Sie zuvor erstellt haben. Damit verfügt Satellite Config über den angepassten Zugriff auf den Cluster.
kubectl create clusterrolebinding razee-viewer --clusterrole=razee-viewer --serviceaccount=razeedeploy:razee-viewerErläuterungen zu den Komponenten dieses Befehls Komponente Beschreibung razee-viewerDer Name der Clusterrollenbindung, z. B. razee-viewer.--clusterrole=razee-viewerDer Name der Clusterrolle, die Sie zuvor erstellt haben, z. B. razee-viewer.--serviceaccount=razeedeploy:razee-viewerDer Name eines der Servicekontos, die standardmäßig für die Verwendung durch die Komponenten von Satellite Config eingerichtet wurden (entweder razeedeploy:razee-vieweroderrazeedeploy:razee-editor).
Projektbezogener angepasster Zugriff:
Erstellen Sie angepasste RBAC-Richtlinien, um Satellite Config den Zugriff auf die gewünschten Aktionen, Kubernetes-Ressourcen und Projekte (Namensbereiche) zu erteilen.
-
Erstellen Sie eine Rolle mit den Aktionen und Ressourcen, die Sie für das Projekt erteilen möchten, das als Geltungsbereich für die Rolle festgelegt werden soll. Beispiel: Der folgende Befehl erstellt eine Bearbeiterrolle, damit Satellite Config alle Kubernetes-Ressourcen in dem Projekt bereitstellen und aktualisieren kann.
kubectl create role razee-editor --namespace=default --verb=get,list,watch,create,update,patch,delete --resource="*.*"Erläuterungen zu den Komponenten dieses Befehls Komponente Beschreibung razee-editorDer Name der Clusterrolle, z. B. razee-editor.--namespace defaultDas Projekt (Namensbereich, namespace), das als Geltungsbereich für die Rolle festgelegt werden soll, z. B. default.--verb=get,list,watch,create,update,patch,deleteEine durch Kommas getrennte Liste der Aktionen, die von der Rolle autorisiert werden. Im vorliegenden Beispiel werden die Aktionsverben get,list,watch,create,update,patch,deletefür typische Bearbeiterrollen verwendet. Weitere mögliche Verben finden Sie in der Dokumentation zu Kubernetes.--resource="*.*"Eine durch Kommas getrennte Liste der Kubernetes-Ressourcen, für die diese Rolle Aktionen autorisiert. Im vorliegenden Beispiel wird Zugriff auf alle Kubernetes-Ressourcen in allen API-Gruppen ( "*.*") erteilt. Weitere mögliche Ressourcen können Sie mit dem Befehlkubectl api-resources -o wideabrufen. -
Erstellen Sie eine Rollenbindung, die das Satellite Config-Servicekonto an die Clusterrolle bindet, die Sie zuvor erstellt haben. Damit verfügt Satellite Config über den angepassten Zugriff auf den Cluster.
kubectl create rolebinding razee-editor --namespace=default --role=razee-editor --serviceaccount=razeedeploy:razee-editorErläuterungen zu den Komponenten dieses Befehls Komponente Beschreibung razee-editorDer Name der Rollenbindung, z. B. razee-editor.--namespace defaultDas Projekt (Namensbereich, namespace), das als Geltungsbereich für die Rollenbindung festgelegt werden soll, z. B. default. Der Namespace muss mit dem Namespace übereinstimmen, in dem sich die Rolle befindet.--role=razee-editorDer Name der Rolle, die Sie zuvor erstellt haben, z. B. razee-editor.--serviceaccount=razeedeploy:razee-editorDer Name eines der Servicekontos, die standardmäßig für die Verwendung durch die Komponenten von Satellite Config eingerichtet wurden (entweder razeedeploy:razee-vieweroderrazeedeploy:razee-editor).
Fahren Sie mit Clustergruppen einrichten fort und registrieren Sie Cluster mit Satellite Config.