Cluster und clusterbezogene Objekte konfigurieren

Auf dieser Seite wird erläutert, wie Sie Cluster und clusterbezogene Objekte konfigurieren. Sie erhalten auch Informationen zum Thema Namespaces und Namespace-bezogene Objekte konfigurieren.

In unstrukturierten Repositories können Sie Konfigurationen für Cluster und clusterbezogene Objekte in Ihrem Repository auf für Sie geeignete Weise organisieren. Wenn Sie in Ihrem Repository keinen ClusterSelector angeben, gelten alle Konfigurationen für clusterbezogene Objekte für jeden in Config Sync registrierten Cluster.

In hierarchischen Repositories befinden sich alle configs für Cluster und clusterbezogene Objekte im Verzeichnis cluster/ eines hierarchischen Repositories. Wenn Sie keinen ClusterSelector in Ihr Repository aufnehmen, gilt eine Konfiguration in cluster/ für jeden in Config Sync registrierten Cluster.

Begrenzen, welche Cluster von einer Konfiguration betroffen sind

Im Normalfall wendet Config Sync eine Konfiguration auf jeden registrierten Cluster an. Befindet sich die Konfiguration innerhalb des Unterverzeichnisses namespaces/ eines hierarchischen Repositorys, erstellt Config Sync zuerst den Namespace in jedem Cluster und wendet dann alle übernommenen Konfigurationen auf diesen Namespace an.

Wenn Sie jedoch eine Konfiguration auf eine Teilmenge von Clustern anwenden müssen, können Sie Ihren Konfigurationen eine Annotation oder einen ClusterSelector hinzufügen. Informationen zur Verwendung dieser Funktionen finden Sie unter Nur eine Teilmenge von Clustern konfigurieren.

Clusterlabels konfigurieren

Sie können eine Clusterkonfiguration verwenden, um die Labels und Annotationen eines Clusters zu konfigurieren. Wenn Sie ClusterSelectors verwenden, benötigt jeder Cluster eine Reihe von Labels, die der ClusterSelector auswählen kann. Sie können Cluster zwar manuell mit Labels versehen, wir empfehlen jedoch, Labels mit einer Clusterkonfiguration zu konfigurieren.

CustomResourceDefinitions konfigurieren

Mit Config Sync können Sie CustomResourceDefinitions (CRDs) auf dieselbe Weise synchronisieren wie jede andere Ressource. Folgendes sollten Sie bei der Synchronisierung von CRDs bedenken:

  • CRDs in hierarchischen Repositories müssen im Verzeichnis cluster/ abgelegt werden, auch wenn eine benutzerdefinierte Namespace-Ressource deklariert wird.

  • Aktualisierungen von CRDs und der zugehörigen CustomResources erfolgen nicht in einer vorhersehbaren Reihenfolge. Wenn Sie CRDs und die entsprechenden CustomResources im selben Commit ändern, kann nicht davon ausgegangen werden, dass CRD-Aktualisierungen vor benutzerdefinierten Ressourcen aktualisiert werden. Das kann dazu führen, dass die Abgleicher-Logs kurz einen vorübergehenden Fehler melden, bis sowohl die CustomResource als auch die CRD im Cluster vorhanden sind.

  • Config Sync lässt das Entfernen einer CRD nicht zu, wenn eine CustomResource im Repository davon abhängt. Zum Entfernen einer CRD müssen Sie auch deren CustomResource entfernen. Deshalb sollten Sie beide im selben Commit an das Repository entfernen.

  • Sie können eine CustomResource synchronisieren, ohne dabei ihre CRD zu synchronisieren, solange Sie garantieren können, dass die CRD bereits im Cluster vorhanden ist.

Nächste Schritte