Menginstal Perantara Layanan GCP

Dokumen ini adalah versi modifikasi dari dokumentasi yang ditemukan di repositori GitHub untuk GCP Service Broker.

Prasyarat

  1. Cluster dengan Kf terinstal.
  2. gcloud: Ikuti petunjuk ini untuk menginstal gcloud CLI.
  3. kubectl: Setelah gcloud diinstal, jalankan gcloud components install kubectl.
  4. helm: Ikuti petunjuk ini untuk menginstal helm CLI.
  5. git: Git diperlukan untuk meng-clone repositori.

Konfigurasi

Pilih project

Pilih project Google Cloud yang ingin Anda gunakan untuk tutorial ini. Project ini harus project yang sama dengan yang digunakan oleh cluster Kf Anda.

Anda harus menjadi pemilik project yang dipilih. Atau, ubah nilai di bawah untuk mencerminkan lingkungan Anda, lalu tetapkan variabel lingkungan ini di terminal:

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

Membuat akun layanan untuk broker

  1. Buat akun layanan:

    gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME
  2. Buat kredensial baru agar broker dapat melakukan autentikasi, dan download kredensial ke key.json:

    gcloud iam service-accounts keys create key.json --iam-account $SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
  3. Berikan izin pemilik project kepada broker:

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

Mengaktifkan API yang diperlukan

Sekarang Anda perlu mengaktifkan API agar broker dapat menyediakan resource.

Broker memiliki beberapa API yang diperlukan agar dapat berjalan, dan beberapa API yang bersifat opsional, tetapi harus diaktifkan untuk menyediakan resource dari jenis tertentu.

Cloud Resource Manager dan Identity and Access Management API diperlukan agar broker dapat berjalan. Untuk mengaktifkannya:

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

Mengaktifkan API

Untuk menyediakan layanan Cloud di project Anda, Kf menyarankan untuk mengaktifkan setidaknya API berikut:

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

GCP Service Broker juga mendukung berbagai layanan lain yang dapat Anda tambahkan dukungannya dengan mengaktifkan API yang tercantum di sini.

Menginstal broker layanan

  1. Clone GCP Service Broker ke workstation lokal dan cd ke dalamnya:

    git clone --depth=1 "https://github.com/GoogleCloudPlatform/gcp-service-broker"
    cd gcp-service-broker/deployments/helm/gcp-service-broker
  2. Perbarui dependensi diagram Helm:

    helm dependency update
  3. Edit file values.yaml dan tetapkan nilai broker.service_account_json menjadi string yang berisi seluruh konten key.json.

    Opsional: baca properti lainnya dan ubah properti yang diperlukan agar sesuai dengan lingkungan Anda.

    # ...
    broker:
      # ...
      service_account_json: "contents of key.json go here"
    # ...
  4. Jika berjalan di lingkungan produksi, tetapkan mysql.embedded ke salah dan berikan kredensial untuk database MySQL eksternal yang memiliki pencadangan otomatis dan failover.

  5. Buat namespace Kubernetes untuk GCP Service Broker:

    kubectl create namespace gcp-service-broker
  6. Instal broker:

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

Mengonfirmasi penginstalan broker

Jalankan kf marketplace. Anda akan melihat output yang mirip dengan:

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.

Perantara Layanan GCP diinstal dan dapat digunakan untuk membuat layanan dan mengikatkannya ke aplikasi yang Anda deploy dengan Kf.