GCP Service Broker installieren

Dieses Dokument ist eine modifizierte Version der Dokumentation, die im GitHub-Repository für GCP Service Broker zu finden ist.

Voraussetzungen

  1. Ein Cluster mit installiertem Kf.
  2. gcloud: Folgen Sie dieser Anleitung, um die gcloud CLI zu installieren.
  3. kubectl: Führen Sie gcloud components install kubectl aus, sobald gcloud installiert ist.
  4. helm: Folgen Sie dieser Anleitung, um die helm-Befehlszeile zu installieren.
  5. git: Git ist zum Klonen eines Repositorys erforderlich.

Konfiguration

Projekt auswählen

Wählen Sie das Google Cloud-Projekt aus, das Sie für den Rest dieser Anleitung verwenden möchten. Es sollte dasselbe Projekt sein, das auch von Ihrem Kf-Cluster verwendet wird.

Sie müssen Inhaber des von Ihnen ausgewählten Projekts sein. Optional können Sie die folgenden Werte an Ihre Umgebung anpassen. Legen Sie dann die Umgebungsvariablen in Ihrem Terminal fest:

export PROJECT_ID=$(gcloud config get-value project)
export SERVICE_ACCOUNT_NAME=kf-gcp-broker

Dienstkonto für den Broker erstellen

  1. Erstellen Sie das Dienstkonto:

    gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME
    
  2. Erstellen Sie neue Anmeldedaten, damit sich der Broker authentifizieren kann, und laden Sie die Anmeldedaten in key.json herunter:

    gcloud iam service-accounts keys create key.json --iam-account $SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
    
  3. Erteilen Sie Projektinhaberberechtigungen für den Broker:

    gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --role "roles/owner"
    

Erforderliche APIs aktivieren

Als Nächstes müssen Sie APIs aktivieren, damit der Broker Ressourcen bereitstellen kann.

Der Broker hat einige APIs, die für seine Ausführung erforderlich sind. Außerdem gibt es einige optionale APIs, die aktiviert werden müssen, um Ressourcen eines bestimmten Typs bereitzustellen.

Die Cloud Resource Manager API und die Identity and Access Management API sind erforderlich, damit der Broker ausgeführt werden kann. So werden sie aktiviert:

gcloud services enable cloudresourcemanager.googleapis.com iam.googleapis.com --project $PROJECT_ID

APIs aktivieren

Zur Bereitstellung von Cloud-Diensten in Ihrem Projekt empfiehlt Kf die Aktivierung von mindestens folgenden APIs:

  1. CloudSQL API
  2. CloudSQL Admin API
  3. Pub/Sub API
  4. Redis API
  5. Storage API

GCP Service Broker unterstützt außerdem eine Reihe anderer Dienste, die Sie durch Aktivierung der hier aufgeführten APIs ebenfalls unterstützen können.

Service Broker installieren

  1. Klonen Sie GCP Service Broker auf Ihre lokale Workstation und wechseln Sie mit cd zu seinem Verzeichnis:

    git clone --depth=1 "https://github.com/GoogleCloudPlatform/gcp-service-broker"
    cd gcp-service-broker/deployments/helm/gcp-service-broker
    
  2. Aktualisieren Sie die Abhängigkeiten des Helm-Diagramms:

    helm dependency update
    
  3. Bearbeiten Sie die Datei values.yaml und legen Sie den Wert von broker.service_account_json als String fest, der den gesamten Inhalt von key.json enthält.

    Optional: Gehen Sie die restlichen Attribute durch und passen Sie sie bei Bedarf an Ihre Umgebung an.

    # ...
    broker:
      # ...
      service_account_json: "contents of key.json go here"
    # ...
    
  4. Bei Ausführung in einer Produktionsumgebung setzen Sie mysql.embedded auf "false" und geben Anmeldedaten für eine externe MySQL-Datenbank an, die automatische Sicherungen und Failover hat.

  5. Erstellen Sie einen Kubernetes-Namespace für GCP Service Broker:

    kubectl create namespace gcp-service-broker
    
  6. Installieren Sie den Broker:

    helm install gcp-service-broker --set svccat.register=false --namespace gcp-service-broker .
    
  7. Registrieren Sie den Broker bei Kf:

    kf create-service-broker gcp-service-broker \
      "$(kubectl get secret gcp-service-broker-auth -n gcp-service-broker -o jsonpath='{.data.username}' | base64 --decode)" \
      "$(kubectl get secret gcp-service-broker-auth -n gcp-service-broker -o jsonpath='{.data.password}' | base64 --decode)" \
      "http://gcp-service-broker.gcp-service-broker.svc.cluster.local"
    

Installation des Brokers bestätigen

Führen Sie kf marketplace aus. Die Ausgabe sollte etwa so aussehen:

Broker              Name                          Space       Status  Description
gcp-service-broker  google-stackdriver-profiler               Active  Continuous CPU and heap profiling to improve performance and reduce costs.
gcp-service-broker  google-stackdriver-monitoring             Active  Stackdriver Monitoring provides visibility into the performance, uptime, and overall health of cloud
gcp-service-broker  google-dataflow                           Active  A managed service for executing a wide variety of data processing patterns built on Apache Beam.
gcp-service-broker  google-cloudsql-mysql                     Active  Google CloudSQL for MySQL is a fully-managed MySQL database service.
gcp-service-broker  google-spanner                            Active  The first horizontally scalable, globally consistent, relational database service.
gcp-service-broker  google-ml-apis                            Active  Machine Learning APIs including Vision, Translate, Speech, and Natural Language.
gcp-service-broker  google-pubsub                             Active  A global service for real-time and reliable messaging and streaming data.
gcp-service-broker  google-datastore                          Active  Google Cloud Datastore is a NoSQL document database service.
gcp-service-broker  google-stackdriver-debugger               Active  Stackdriver Debugger is a feature of the Google Cloud Platform that lets you inspect the state of an
gcp-service-broker  google-firestore                          Active  Cloud Firestore is a fast, fully managed, serverless, cloud-native NoSQL document database that simp
gcp-service-broker  google-bigtable                           Active  A high performance NoSQL database service for large analytical and operational workloads.
gcp-service-broker  google-storage                            Active  Unified object storage for developers and enterprises. Cloud Storage allows world-wide storage and r
gcp-service-broker  google-stackdriver-trace                  Active  Stackdriver Trace is a distributed tracing system that collects latency data from your applications
gcp-service-broker  google-cloudsql-postgres                  Active  Google CloudSQL for PostgreSQL is a fully-managed PostgreSQL database service.
gcp-service-broker  google-dialogflow                         Active  Dialogflow is an end-to-end, build-once deploy-everywhere development suite for creating conversatio
gcp-service-broker  google-bigquery                           Active  A fast, economical and fully managed data warehouse for large-scale data analytics.

GCP Service Broker ist installiert und kann verwendet werden, um Dienste zu erstellen und an Anwendungen zu binden, die Sie mit Kf bereitstellen.