Kanonischen Dienstüberwacher aktivieren und deaktivieren

Hinweis: Kanonische Dienste werden in Cloud Service Mesh Version 1.6.8 und höher automatisch unterstützt.

Wenn Sie Cloud Service Mesh mit asmcli installieren oder aktualisieren, wird der kanonische Dienstüberwacher in Ihrem Cluster bereitgestellt. Der kanonische Dienstüberwacher gruppiert Arbeitslasten, die zu demselben logischen Dienst gehören, und ist für die volle Funktionalität des Services-Dashboards in der Google Cloud Console erforderlich. Durch die Bereitstellung des Controllers wird das canonical-service-controller-manager-Deployment in Ihrem Cluster im Namespace asm-system erstellt. Dies hat keine Auswirkungen auf Ihre Dienste oder Arbeitslasten.

Wenn Sie Cloud Service Mesh nicht mit asmcli installiert haben, ist der kanonische Dienstüberwacher möglicherweise nicht in Ihrem Cluster aktiviert. So ermitteln Sie, ob der kanonische Dienstüberwacher auf Ihrem Cluster aktiviert ist:

kubectl get services -n asm-system

Clusterinternen kanonischen Dienstüberwacher aktivieren

Wenn der kanonische Dienstüberwacher nicht aktiviert ist, können Sie ihn mit folgenden Schritten aktivieren:

  1. Laden Sie das Paket kpt, das den Dienstüberwacher enthält, in das aktuelle Arbeitsverzeichnis herunter:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.23 asm
    
  2. Wenden Sie die Konfiguration an:

        kubectl apply -f asm/canonical-service/controller.yaml
    

Clusterinternen kanonischen Dienstüberwacher deaktivieren

So deaktivieren Sie den kanonischen Dienstüberwacher:

  1. Laden Sie das kpt-Paket, das den kanonischen Dienstüberwacher enthält, in das aktuelle Arbeitsverzeichnis herunter:

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.23 asm
    
  2. Löschen Sie den Dienstüberwacher aus Ihrem Cluster:

    kubectl delete -f asm/canonical-service/controller.yaml
    

Managed Canonical Service-Controller aktivieren

Wenn Sie den clusterinternen Dienstüberwacher nicht installieren möchten, können Sie stattdessen den verwalteten kanonischen Dienstüberwacher aktivieren, der dieselbe Aufgabe für alle registrierten Cluster in Ihrem Mesh ausführt, ohne dass Sie den Dienstüberwacher selbst installieren oder verwalten müssen.

Der verwaltete Controller ist so konzipiert, dass er auf den clusterinternen Controller angewendet wird. Wenn Sie vom Cluster-Controller migrieren, müssen Sie den Cluster-Controller in jedem Cluster löschen, auf dem er ausgeführt wird, damit der verwaltete Controller übernehmen kann. Weitere Informationen finden Sie unter Clusterinternen kanonischen Dienstüberwacher deaktivieren.

So aktivieren Sie den verwalteten Dienstcontroller:

Seite mit Anthos-Features

  1. Öffnen Sie in der Google Cloud Console die Seite GKE Enterprise-Cluster.

    Zur Seite „GKE Enterprise-Cluster“

  2. "Registrieren“ Sie alle Cluster in Ihrem Mesh-Netzwerk.

  3. Rufen Sie in der Google Cloud Console die Seite GKE Enterprise-Funktionen auf.

    Seite mit GKE Enterprise-Funktionen aufrufen

  4. Klicken Sie neben dem Feature "Service Mesh" auf Aktivieren.

Nach einigen Minuten aktiviert der verwaltete Controller kanonische Dienste für die Arbeitslasten, die auf registrierten Clustern in Ihrem Mesh ausgeführt werden. Führen Sie kubectl get canonicalservices --all-namespaces aus, um zu prüfen, ob einige kanonische Dienste für die Arbeitslasten in Ihrem Mesh erstellt wurden.

GKE-Cluster erstellen

Wenn Sie beim Erstellen eines neuen GKE-Clusters die Option Cloud Service Mesh aktivieren verwendet haben, wurde der Managed Canonical Service-Controller standardmäßig installiert.

Prüfen Sie, ob Sie den Managed Canonical Service-Controller ausführen mit folgendem Befehl:

gcloud beta container hub mesh describe --project=PROJECT_ID

In der Beschreibung wird angegeben, dass die kanonischen Dienste erfolgreich abgeglichen wurden:

  projects/<your project number>/locations/global/memberships/<your cluster name>:
    code: OK
    description: |-
      Revision(s) ready for use: asm-managed.
      All Canonical Services have been reconciled successfully.
    servicemeshFeatureState: {}
    updateTime: '2021-11-16T21:10:36.289467777Z'

Wenn die kanonischen Dienste nicht erfolgreich abgeglichen wurden, wird entweder eine Fehlermeldung oder eine Ausgabe wie die folgende angezeigt:

  projects/<your project number>/locations/global/memberships/<your cluster name>:
    code: OK
    description: |-
      Revision(s) ready for use: istiod-asm-173-6.
      The Managed Canonical Service Controller is yielding to the in-cluster controller.  See https://cloud.google.com/service-mesh/v1.20/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.
    servicemeshFeatureState: {}
    updateTime: '2021-11-16T21:05:43.286828851Z'
  lifecycleState: ENABLED

Installation der verwalteten Steuerungsebene

Wenn Sie einen verwalteten Cloud Service Mesh (mit der Fleet API oder mit asmcli) installiert haben, wurde der Managed Canonical Service-Controller standardmäßig installiert.

Prüfen Sie, ob Sie den Managed Canonical Service-Controller ausführen mit folgendem Befehl:

gcloud beta container hub mesh describe --project=PROJECT_ID

In der Beschreibung wird angegeben, dass die kanonischen Dienste erfolgreich abgeglichen wurden:

  projects/<your project number>/locations/global/memberships/<your cluster name>:
    code: OK
    description: |-
      Revision(s) ready for use: asm-managed.
      All Canonical Services have been reconciled successfully.
    servicemeshFeatureState: {}
    updateTime: '2021-11-16T21:10:36.289467777Z'

Wenn die kanonischen Dienste nicht erfolgreich abgeglichen wurden, wird entweder eine Fehlermeldung oder eine Ausgabe wie die folgende angezeigt:

  projects/<your project number>/locations/global/memberships/<your cluster name>:
    code: OK
    description: |-
      Revision(s) ready for use: istiod-asm-173-6.
      The Managed Canonical Service Controller is yielding to the in-cluster controller.  See https://cloud.google.com/service-mesh/v1.20/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.
    servicemeshFeatureState: {}
    updateTime: '2021-11-16T21:05:43.286828851Z'
  lifecycleState: ENABLED

Nächste Schritte

Hier erfahren Sie mehr über: