Policy Controller manuell mit kubectl installieren

In der folgenden Anleitung erfahren Sie, wie Sie Policy Controller mit kubectl-Befehlen installieren. Wenn Sie die Google Cloud Console oder das gcloud-Befehlszeilentool verwenden möchten, finden Sie weitere Informationen unter Policy Controller installieren.

Wenn Sie Policy Controller mit den auf dieser Seite beschriebenen kubectl-Befehlen konfigurieren, können Sie später Konfigurationsänderungen mit der Google Cloud Console oder dem gcloud-Befehlszeilentool vornehmen. Wenn Sie jedoch Konfigurationsänderungen mit der Cloud Console oder dem gcloud-Tool vornehmen, können Sie nicht zurück zur Verwendung von kubectl-Befehlen für Konfigurationsänderungen wechseln.

Standardmäßig installiert Policy Controller eine Bibliothek mit Einschränkungsvorlagen für übliche Richtlinientypen. Um die Installation der Einschränkungsvorlagen zu überspringen, entfernen Sie den Kommentar der Zeile, die im Manifest mit templateLibraryInstalled beginnt.

  1. Bereiten Sie die Konfiguration vor, indem Sie entweder eine neue config-management.yaml-Datei erstellen oder eine vorhandene Datei aktualisieren.

  2. Kopieren Sie die folgende YAML-Datei in die Datei config-management.yaml:

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
    spec:
      # Set to true to install and enable Policy Controller
      policyController:
        enabled: true
        # Uncomment to prevent the template library from being installed
        # templateLibraryInstalled: false
        # Uncomment to enable support for referential constraints
        # referentialRulesEnabled: true
        # Uncomment to disable audit, adjust value to set audit interval
        # auditIntervalSeconds: 0
        # Uncomment to log all denies and dryrun failures
        # logDeniesEnabled: true
        # Uncomment to exempt namespaces
        # exemptableNamespaces: ["namespace-name"]
      # ...other fields...
    

    Sie müssen das Feld spec.policyController hinzufügen und den Wert von enabled auf true setzen. Sie können auch andere Policy Controller-Features aktivieren. Der Support für referenzielle Einschränkungen ist jedoch standardmäßig deaktiviert. Vor dem Aktivieren sollten Sie sich mit den Warnhinweisen zu Eventual Consistency vertraut machen.

  3. Wenden Sie die Konfiguration mit kubectl apply an.

    kubectl apply -f config-management.yaml
    

Policy Controller prüfen

Wenn der Policy Controller ordnungsgemäß installiert ist, wird der Pod ausgeführt. Der Pod wird möglicherweise mehrmals neu gestartet, bevor er verfügbar ist.

Da der Policy Controller-Pod im Namespace gatekeeper-system ausgeführt wird, können Sie den Status ansehen. Führen Sie dazu den folgenden Befehl aus:

kubectl get pods -n gatekeeper-system

Die Ausgabe sollte in etwa wie im folgenden Beispiel aussehen:

NAME                              READY   STATUS    RESTARTS   AGE
gatekeeper-controller-manager-0   1/1     Running   1          53s

Policy Controller deinstallieren

Wenn Sie Policy Controller deinstallieren möchten, bearbeiten Sie die Anthos Config Management-Konfiguration in der Datei config-management.yaml und setzen Sie policyController.enabled auf false. Nachdem Anthos Config Management den policycontroller.configmanagement.gke.io-Abschluss entfernt hat, ist die Deinstallation abgeschlossen.

Wenn Sie Anthos Config Management vollständig deinstallieren möchten, lesen Sie die Informationen unter Config Management Operator entfernen.