Google Cloud-Ressourcen mit Anthos Config Management konfigurieren

Genauso wie Sie Ihre registrierten Cluster als "Source of Truth" mit einem Git-Repository synchronisieren können, können Sie Konfigurationen für Google Cloud-Ressourcen synchronisieren.

Vorbereitung

Bevor Sie fortfahren, installieren Sie Config Sync und Config Connector.

Konfiguration erstellen

Die Konfigurationen für Kubernetes-Objekte verbleiben in Kubernetes-Clustern, die Konfigurationen für Google Cloud-Ressourcen bleiben jedoch in Google Cloud-Projekten erhalten. Aus diesem Grund wird jede Google Cloud durch ein Namespace-Verzeichnis in namespaces/ dargestellt. Das Namespace-Verzeichnis muss genau mit dem Namen der Google Cloud-Projekt-ID übereinstimmen. Diese Namespace-Verzeichnisse können von abstrakten Namespaces übernommen werden.

Konfigurationen werden entweder in YAML oder JSON gespeichert. Jeder Ressourcentyp verfügt über unterschiedliche erforderliche und optionale Felder. Details zu den einzelnen Ressourcentypen, z. B. Pub/Sub-PubSubTopic, finden Sie unter Config Connector-Ressourcen.

Angenommen, diese Konfiguration ist in namespaces/myProject gespeichert. Wenn Anthos Config Management mit dem Repository synchronisiert, erstellt Config Connector im Google Cloud-Projekt myProject ein PubSubTopic namens pubsubtopic-example.

apiVersion: pubsub.cnrm.cloud.google.com/v1alpha2
kind: PubSubTopic
metadata:
  labels:
    label-one: "value-one"
  name: pubsubtopic-sample

Weitere Beispiele finden Sie unter Config Connector-Ressourcen.

Ressource löschen oder verlassen

Entfernen Sie zum Löschen einer Ressource die Konfiguration aus dem Repository. Die Ressource wird bei der nächsten Synchronisierung aus dem Google Cloud-Projekt gelöscht.

Um eine Ressource zu verwerfen (die Synchronisierung einer Ressource zu beenden, sie jedoch im Google Cloud-Projekt intakt zu lassen), erstellen Sie zwei separate Commits für das Repository:

  • Beim ersten Commit fügen Sie der Ressource die Anmerkung cnrm.cloud.google.com/deletion-policy: abandon hinzu.
  • Nachdem diese Änderung synchronisiert wurde, löschen Sie die Konfiguration aus dem Repository.

So beenden Sie beispielsweise die Verwaltung einer SpannerInstance-Ressource:

  1. Bearbeiten Sie deren Konfiguration und fügen Sie eine Zeile wie die unten fettgedruckte hinzu:

    apiVersion: spanner.cnrm.cloud.google.com/v1alpha2
    kind: SpannerInstance
    metadata:
     labels:
       label-one: "value-one"
     annotations:
       cnrm.cloud.google.com/deletion-policy: abandon
     name: spannerinstance-sample
    spec:
     config: regional-us-central1
     displayName: Spanner Two
     numNodes: 1
    

    Übernehmen Sie die Änderung und übertragen Sie diese per Push.

  2. Löschen Sie in einem zweiten Commit die Konfiguration. Übernehmen Sie die Änderung und übertragen Sie diese per Push.

SpannerInstance wird im Google Cloud-Projekt beibehalten. Das benutzerdefinierte Objekt ist jedoch nicht mehr im Anthos Config Management-Cluster vorhanden und seine Konfiguration wird nicht mehr über Config Connector oder Anthos Config Management synchronisiert.

Nächste Schritte