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-admin im Befehl ibmcloud oc cluster create satellite verwenden. Nach der Erstellung des Clusters müssen Sie eine einmalige Anmeldung durchführen, indem Sie in der Befehlszeile den Befehl ibmcloud ks cluster config ausfü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:

  1. Rufen Sie Ihren Satellite-Cluster auf.

  2. 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-viewer gebunden ist. Um Kubernetes-Ressourcen mithilfe von Abonnements in einem Cluster bereitzustellen, muss im Satellite-Konfigurationsdienst eine entsprechende Rolle an das razee-editor Dienstkonto 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.

  1. 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-viewer Der Name der Clusterrolle, z. B. razee-viewer.
    --verb=get,list,watch Eine durch Kommas getrennte Liste der Aktionen, die von der Rolle autorisiert werden. Im vorliegenden Beispiel werden die Aktionsverben get,list,watch fü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 Befehl kubectl api-resources -o wide abrufen.
  2. 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-viewer
    
    Erläuterungen zu den Komponenten dieses Befehls
    Komponente Beschreibung
    razee-viewer Der Name der Clusterrollenbindung, z. B. razee-viewer.
    --clusterrole=razee-viewer Der Name der Clusterrolle, die Sie zuvor erstellt haben, z. B. razee-viewer.
    --serviceaccount=razeedeploy:razee-viewer Der Name eines der Servicekontos, die standardmäßig für die Verwendung durch die Komponenten von Satellite Config eingerichtet wurden (entweder razeedeploy:razee-viewer oder razeedeploy: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.

  1. 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-editor Der Name der Clusterrolle, z. B. razee-editor.
    --namespace default Das Projekt (Namensbereich, namespace), das als Geltungsbereich für die Rolle festgelegt werden soll, z. B. default.
    --verb=get,list,watch,create,update,patch,delete Eine durch Kommas getrennte Liste der Aktionen, die von der Rolle autorisiert werden. Im vorliegenden Beispiel werden die Aktionsverben get,list,watch,create,update,patch,delete fü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 Befehl kubectl api-resources -o wide abrufen.
  2. 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-editor
    
    Erläuterungen zu den Komponenten dieses Befehls
    Komponente Beschreibung
    razee-editor Der Name der Rollenbindung, z. B. razee-editor.
    --namespace default Das 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-editor Der Name der Rolle, die Sie zuvor erstellt haben, z. B. razee-editor.
    --serviceaccount=razeedeploy:razee-editor Der Name eines der Servicekontos, die standardmäßig für die Verwendung durch die Komponenten von Satellite Config eingerichtet wurden (entweder razeedeploy:razee-viewer oder razeedeploy:razee-editor).

Fahren Sie mit Clustergruppen einrichten fort und registrieren Sie Cluster mit Satellite Config.