Google Cloud Platform Service Broker (Beta, eingestellt)

Auf dieser Seite erhalten Sie einen Überblick über Google Cloud Platform Service Broker.

Einführung

Google Cloud Service Broker ist eine Implementierung der Open-Source-API Open Service Broker (OSB) API, die in Google Cloud gehostet wird. Service Broker vereinfacht die Bereitstellung von Google Cloud-Diensten für Anwendungen, die auf Kubernetes ausgeführt werden. Mit Service Broker können Sie Google Cloud-Ressourcen erstellen und die entsprechenden Berechtigungen verwalten. Das erleichtert die Anwendung von Google Cloud-Diensten innerhalb eines Kubernetes-Clusters. Beispielsweise können Sie eine Instanz des Cloud Pub/Sub-Dienstes in Ihrem GKE-Cluster bereitstellen und für Ihre Anwendungen verfügbar machen.

Service Broker wird als Ergänzung zum GKE-Add-on Service Catalog registriert. Installieren Sie Service Catalog in Ihrem Cluster und fügen Sie Service Broker hinzu. Danach wird eine Liste mit verfügbaren Diensten und Plänen heruntergeladen. Von da an können Sie Instanzen von Plänen erstellen und diese Instanzen mit den erforderlichen Berechtigungen (Bindungen) zuweisen. Mit Anwendungen in Ihrem Cluster haben Sie nun die Möglichkeit, über ihre nativen APIs auf erstellte Dienstinstanzen zugreifen. Über Service Broker sind folgende Google Cloud-Dienste verfügbar:

Beispiele zu den einzelnen Diensten finden Sie im GitHub-Repository von Google Cloud.

Konzepte

Die Google Cloud Platform Service Broker API nutzt verschiedene OSB-Konzepte:

  • Anwendung: Jede Software, die eine Dienstinstanz verwenden oder daran gebunden werden kann.
  • Plattform: Die Verwaltungssoftware für die Cloud-Umgebung, in der Anwendungen bereitgestellt und Service Broker registriert werden. Nutzer stellen Dienste nicht direkt von Service Brokern bereit. Die Dienste werden von der Plattform verwaltet. Diese interagiert im Namen der Nutzer mit den Service Brokern. Als Plattform für Google Cloud Platform Service Broker dient Kubernetes Service Catalog.
  • Dienst: Eine verwaltete Software wie Pub/Sub oder Cloud Spanner. Google Cloud-Dienste stellen APIs für bestimmte Aktionen zur Verfügung.
  • Dienstbindung: Die Möglichkeit, eine Dienstinstanz zu verwenden. Die Anfrage kann von einer Anwendung oder einer anderen Entität kommen, die die Dienstinstanz verwenden möchte. In Kubernetes Service Catalog werden die in einem Bindungsaufruf zurückgegebenen Informationen in einem Kubernetes Secret für den angegebenen Namespace gespeichert. Service Broker legt in der Regel mit einem Aufruf zur Erstellung einer Bindung Cloud IAM-Berechtigungen für eine Dienstinstanz fest.
  • Service Broker: Diese verwalten den Lebenszyklus von Diensten. Kubernetes Service Catalog nutzt Service Broker für die Bereitstellung und Verwaltung von Dienstinstanzen und Dienstbindungen.
  • Dienstinstanz: Eine Instanziierung eines Dienstangebots.
  • Dienstangebot: Die von einem Service Broker unterstützte Dienstklasse.
  • Dienstplan: Die Darstellung der verschiedenen Optionen oder Stufen eines Dienstangebots. Dies kann sich auf die Kosten auswirken.

Architektur

Die folgenden Diagramme bieten eine Übersicht der OSB-Architektur. Sie zeigen den Fluss zwischen Service Catalog und Service Broker bei der Bereitstellung einer Dienstinstanz und einer Dienstbindung.

Übersicht

Im folgenden Diagramm wird die Service Broker-Architektur veranschaulicht.

Service Catalog ist eine Erweiterungs-API von Kubernetes. In einem Kubernetes-Cluster ausgeführte Anwendungen können damit Google Cloud-Dienste wie Cloud Pub/Sub verwenden. Service Catalog fordert von Service Broker eine Liste verfügbarer Dienste und Pläne an, die dann als Dienstinstanzen bereitgestellt werden können.

Informationen zu einer Dienstinstanz werden in den Ressourcen ServiceInstance und ServiceBinding gespeichert. Nach der Bereitstellung einer Dienstinstanz werden die Zugangsdaten über Kubernetes Secrets für die Anwendung freigegeben.

Dienste und Pläne auflisten

  1. Wenn die Google Cloud-Ressource ClusterServiceBroker in Service Catalog installiert ist, stellt Service Catalog eine Verbindung zu Service Broker her, um die Liste der verfügbaren Dienste und Pläne anzufordern.
  2. Die Dienstdetails werden als Ressourcen vom Typ ClusterServiceClass und die zugehörigen Pläne in Ressourcen vom Typ ClusterServicePlan gespeichert.

Unter Google Cloud-Dienste und -Pläne ermitteln wird gezeigt, wie Sie Dienste und Pläne auflisten können.

Dienstkontoinstanz und Bindungsfluss

Das folgende Diagramm zeigt die Abfolge der Interaktionen zwischen Kubernetes Service Catalog und Service Broker in Verbindung mit der Cloud IAM API. Dienstkonten sind für die Authentifizierung bei Google Cloud-Ressourcen erforderlich.

  1. Stellen Sie die Dienstinstanz eines Cloud IAM-Dienstkontos bereit.
  2. Google Cloud stellt ein neues Dienstkonto bereit. Das Konto hat an diesem Punkt keine Berechtigungen.
  3. Service Broker gibt eine Antwort zur Instanzbereitstellung zurück, die in der ServiceInstance-Ressource gespeichert wird.
  4. Legen Sie die Dienstbindung für die Cloud IAM-Dienstkontoinstanz fest.
  5. Google Cloud generiert einen privaten Schlüssel für das Dienstkonto und gibt diesen an die Cloud IAM-Dienstkontoinstanz zurück.
  6. Service Broker gibt den privaten Schlüssel für das Cloud IAM-Dienstkonto zurück und die ServiceBinding-Ressource wird erstellt.
  7. Service Catalog speichert den privaten Schlüssel für das Dienstkonto in einem Secret in einem angegebenen Namespace.
  8. Mit dem Dienstkonto können Sie anderen Google Cloud-Ressourcen Rollen zuweisen. Dazu erstellen Sie neue Bindungen und verwenden das Dienstkonto als Eingabe für den Bindungsaufruf.

Google Cloud-Dienstinstanz und Bindungsfluss

Das folgende Diagramm veranschaulicht die Abfolge der Interaktionen zwischen Service Catalog und Service Broker in Verbindung mit einem anderen von Service Broker angebotenen Google Cloud-Dienst, in diesem Fall Pub/Sub.

  1. Stellen Sie eine Dienstinstanz mit einem Dienstplan bereit. So können Sie beispielsweise den Pub/Sub-Dienst mit Plan 1 bereitstellen.
  2. Google Cloud stellt im Projekt eine neue Instanz der Ressource bereit. Für Pub/Sub stellt Google Cloud ein neues Pub/Sub-Thema bereit.
  3. Service Broker gibt eine Antwort zur Instanzbereitstellung zurück, die in der ServiceInstance-Ressource gespeichert wird.
  4. Legen Sie die Dienstbindung für die Dienstinstanz mit den im Dienstplan definierten Parametern fest. Für Pub/Sub beinhaltet das Berechtigungen als Cloud IAM-Publisher oder -Abonnent.

    • Geben Sie das Dienstkonto an, das verwendet werden soll.

    • Geben Sie die Cloud IAM-Rollen an, die dem Dienstkonto zugewiesen werden sollen.

  5. Legen Sie die Cloud IAM-Berechtigungen für das Dienstkonto fest. Abhängig vom Ressourcentyp können das folgende Berechtigungen sein:

    • Cloud IAM-Berechtigungen für die Ressource selbst, beispielsweise bei einer Cloud Spanner-Dienstinstanz

    • Cloud IAM-Berechtigungen auf Projektebene für Ressourcen, die keine ressourcenspezifischen Berechtigungen unterstützen

  6. Service Broker gibt die Verbindungsinformationen für den Dienst zurück und die Ressource ServiceBinding wird erstellt.

  7. Service Catalog speichert die Verbindungsinformationen für den Dienst in einem Secret in einem angegebenen Namespace.

  8. Die Dienstbindungsinformationen einschließlich der Anmeldedaten für die Verbindung werden mit einem Kubernetes Secret für die Anwendung freigegeben.

  9. Die Anwendung greift mit den Bindungsinformationen auf den Dienst zu, beispielsweise auf Pub/Sub.

Optional: Sie haben die Möglichkeit, im Namespace für dieselbe Dienstinstanz weitere Bindungen mit unterschiedlichen Dienstkonten und Rollen zu erstellen. Auf diese Weise können verschiedene Anwendungen im selben Kubernetes Namespace dasselbe Pub/Sub-Thema verwenden.

Wie Sie eine Dienstinstanz bereitstellen und dafür eine Bindung festlegen, erfahren Sie unter Google Cloud-Dienst verwenden.

Bereitstellung aufheben und bereinigen

Das folgende Diagramm zeigt, wie Sie die Bereitstellung eines nicht mehr benötigten Dienstes aufheben. Dadurch vermeiden Sie, dass Ihrem Google Cloud-Konto ein nicht mehr verwendeter Dienst in Rechnung gestellt wird.

  1. Löschen Sie die Dienstbindung. Service Catalog sendet eine Anfrage zum Aufheben der Bindung an Service Broker.
  2. Google Cloud löscht die Cloud IAM-Berechtigungen für die Dienstinstanz.
  3. Service Broker bestätigt, dass die Bindung gelöscht wurde.
  4. Löschen Sie das Kubernetes Secret mit der Dienstbindung und den Verbindungsinformationen.
  5. Löschen Sie die Dienstinstanz. Service Catalog sendet eine Anfrage zum Aufheben der Dienstbereitstellung an Service Broker.
  6. Google Cloud löscht die Dienstinstanz. Für Pub/Sub wird das Pub/Sub-Thema gelöscht.
  7. Service Broker bestätigt, dass die Bereitstellung aufgehoben wurde.

Unter Service Catalog bereinigen wird beschrieben, wie Sie die Dienstinstanz und die Bindung löschen und bereinigen.

Weitere Informationen