Hierarchy Controller installieren

In diesem Dokument wird beschrieben, wie Sie den Hierarchy Controller installieren und deinstallieren. Der Hierarchy Controller erweitert reguläre Kubernetes-Namespaces, um hierarchische Richtlinien und deren Erstellung zu ermöglichen, ohne das Anthos Config Management-Repository ändern zu müssen.

Hinweis

Sie benötigen einen Cluster, auf dem Google Kubernetes Engine (GKE) Version 1.15.x oder höher mit installiertem Anthos Config Management installiert ist.

Hierarchy Controller aktivieren

Führen Sie die folgenden Schritte aus, um Anthos Config Management für die Aktivierung von Hierarchy Controller auf dem Cluster zu konfigurieren:

  1. Setzen Sie in der Konfigurationsdatei für den Operator im Objekt spec.hierarchyController den enabled-Wert auf true:

      # config-management.yaml
    
      apiVersion: configmanagement.gke.io/v1
      kind: ConfigManagement
      metadata:
        name: config-management
      spec:
        # Set to true to enable hierarchical namespaces
        hierarchyController:
          enabled: true
    
        # ...other fields...
    
  2. Wenden Sie die Konfiguration an:

      kubectl apply -f config-management.yaml
    

    Da mehrere Arbeitslasten bereitgestellt werden, kann der Hierarchie-Controller in Ihrem Cluster verwendet werden. Dies kann bis zu einer Minute dauern.

kubectl-Plug-in installieren

Mit Hierarchy Controller können Sie nur über Kubernetes-Clienttools wie kubectl interagieren. Das Open-Source-kubectl-hns kubectl-Plug-in vereinfacht einige Aufgaben jedoch erheblich. Dieses Plug-in gehört zum Hierarchical Namespace Controller (HNC), einer Komponente des Hierarchy Controllers.

Dieses Plug-in wird von der OSS-Community verteilt und ist derzeit nur für Linux verfügbar. Informationen zur Installation auf Ihrer Workstation finden Sie in den folgenden Abschnitten.

Erforderliche Plug-in-Version ermitteln

Jede Version von Anthos Config Management entspricht einer Version des OSS-Projekts, wie in der folgenden Tabelle dargestellt. Die besten Ergebnisse erzielen Sie, wenn die Version des heruntergeladenen Plug-ins mit der Version von Anthos Config Management übereinstimmt.

Anthos Config Management-Version kubectl-hns-Version
1.4.1 0.5.0
Pre-1.4.0

Plug-in auf Ihrer Workstation installieren

  1. Setzen Sie eine Umgebungsvariable auf die kubectl-hns-Version aus der vorherigen Tabelle. Beispiel:

     HNC_VERSION=0.5.0   # Example for Anthos Config Management 1.4.1
    
  2. Wählen Sie aus, wo Sie das Plug-in installieren möchten. Dies kann an einer beliebigen Stelle in Ihrem PATH sein.

     PLUGIN_DIR=~/kubectl-plugins   # Example path
    
  3. Laden Sie das Plug-in herunter und machen Sie es ausführbar:

    curl -L -o ${PLUGIN_DIR}/kubectl-hns \
       https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/kubectl-hns
    chmod +x ${PLUGIN_DIR}/kubectl-hns
    

Installation prüfen

  1. Wenn Hierarchy Controller korrekt installiert ist, können Sie unter einem vorhandenen Namespace untergeordnete Namespaces erstellen:

     kubectl hns create sub -n default
    
  2. Wenn Hierarchy Controller ordnungsgemäß funktioniert, können Sie die resultierende Hierarchie prüfen:

     kubectl hns tree default
    

    Ausgabe:

     default
      └── sub
    
  3. Bereinigen Sie den Subnamespace. Subnamespaces können nicht direkt gelöscht werden. Sie müssen stattdessen den Subnamespace-Anker aus dem übergeordneten Namespace löschen:

    kubectl delete subns sub -n default
    # subnamespaceanchor.hnc.x-k8s.io "sub" deleted
    

Hierarchy Controller deinstallieren

So deinstallieren Sie den Hierarchy Controller:

  1. Setzen Sie in der Konfigurationsdatei für den Operator im Objekt spec.hierarchyController den enabled-Wert auf false.
  2. Nachdem der Operator den hierarchycontroller.configmanagement.gke.io-Finalizer entfernt hat, wird Hierarchy Controller deinstalliert.

Wenn Sie Anthos Config Management vollständig deinstallieren möchten, finden Sie unter Operator von einem Cluster deinstallieren weitere Informationen.

Nächste Schritte