Installa il service broker Google Cloud

Questo documento è una versione modificata della documentazione disponibile nel repository GitHub di Service Broker di Google Cloud.

Prerequisiti

  1. Un cluster su cui è installato Kf.
  2. gcloud: segui queste istruzioni per installare la gcloud CLI.
  3. kubectl: dopo aver installato gcloud, esegui gcloud components install kubectl.
  4. helm: segui queste istruzioni per installare l'interfaccia a riga di comando helm.
  5. git: Git è necessario per clonare un repository.

Configurazione

Seleziona un progetto

Scegli il progetto Google Cloud che vuoi utilizzare per il resto di questo tutorial. Deve essere lo stesso progetto utilizzato dal tuo cluster Kf.

Devi essere un proprietario del progetto scelto. Se vuoi, modifica i valori riportati di seguito in base al tuo ambiente, quindi imposta queste variabili di ambiente nel terminale:

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

Crea un account di servizio per il broker

  1. Crea l'account di servizio:

    gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME
  2. Crea nuove credenziali per consentire l'autenticazione del broker e scaricale in key.json:

    gcloud iam service-accounts keys create key.json --iam-account $SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
  3. Concedi le autorizzazioni del proprietario del progetto al broker:

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

Abilita le API richieste

Ora devi abilitare le API per consentire al broker di eseguire il provisioning delle risorse.

Il broker ha alcune API obbligatorie per il suo funzionamento e alcune facoltative, ma che devono essere attivate per il provisioning di risorse di un determinato tipo.

Le API Cloud Resource Manager e Identity and Access Management sono obbligatorie per l'esecuzione del broker. Per attivarli:

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

Abilita API

Per eseguire il provisioning dei servizi Cloud nel tuo progetto, Kf consiglia di abilitare almeno le seguenti API:

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

Service Broker di Google Cloud supporta anche una serie di altri servizi per i quali puoi aggiungere il supporto attivando le API elencate qui.

Installa il service broker

  1. Clona il service broker di Google Cloud nella tua workstation locale e cd:

    git clone --depth=1 "https://github.com/GoogleCloudPlatform/gcp-service-broker"
    cd gcp-service-broker/deployments/helm/gcp-service-broker
  2. Aggiorna le dipendenze del grafico Helm:

    helm dependency update
  3. Modifica il file values.yaml e imposta il valore di broker.service_account_json come una stringa contenente l'intero contenuto di key.json.

    (Facoltativo) Leggi le altre proprietà e modifica quelle necessarie per adattarle al tuo ambiente.

    # ...
    broker:
      # ...
      service_account_json: "contents of key.json go here"
    # ...
  4. Se esegui l'operazione in un ambiente di produzione, imposta mysql.embedded su false e fornisci le credenziali per un database MySQL esterno con backup automatici e failover.

  5. Crea uno spazio dei nomi Kubernetes per Service Broker di Google Cloud:

    kubectl create namespace gcp-service-broker
  6. Installa il broker:

    helm install gcp-service-broker --set svccat.register=false --namespace gcp-service-broker .
  7. Registra il broker con 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"

Conferma l'installazione del broker

Esegui kf marketplace. Dovresti visualizzare un output simile al seguente:

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 è installato e può essere utilizzato per creare servizi e associarli alle app di cui esegui il deployment con Kf.