このドキュメントは、GitHub リポジトリにある GCP サービス ブローカーのドキュメントの修正版です。
前提条件
- クラスタに Kf がインストールされていること。
gcloud
: こちらの手順で gcloud CLI をインストールします。kubectl
:gcloud
をインストールしたら、gcloud components install kubectl
を実行します。helm
: こちらの手順に沿ってhelm
CLI をインストールします。git
: リポジトリのクローンを作成するには Git が必要です。
構成
プロジェクトを選択する
このチュートリアルの残りの部分で使用する Google Cloud プロジェクトを選択します。これは、Kf クラスタで使用したものと同じプロジェクトにします。
選択したプロジェクトのオーナーである必要があります。必要に応じて、環境に合わせて以下の値を変更し、ターミナルに環境変数を設定します。
export PROJECT_ID=$(gcloud config get-value project)
export SERVICE_ACCOUNT_NAME=kf-gcp-broker
ブローカーのサービス アカウントを作成する
サービス アカウントを作成します。
gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME
ブローカーの認証で使用される新しい認証情報を作成し、認証情報を
key.json
にダウンロードします。gcloud iam service-accounts keys create key.json --iam-account $SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
ブローカーにプロジェクト オーナー権限を付与します。
gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --role "roles/owner"
必要な API を有効にする
次に、ブローカーがリソースをプロビジョニングできるように API を有効にする必要があります。
ブローカーには、実行に必要な API と、特定のタイプのリソースをプロビジョニングするために有効にする必要のあるオプションの API があります。
ブローカーを実行するには、Cloud Resource Manager API と Identity and Access Management API が必要です。有効にするには:
gcloud services enable cloudresourcemanager.googleapis.com iam.googleapis.com --project $PROJECT_ID
API を有効にする
プロジェクトで Cloud サービスをプロビジョニングするために、Kf では少なくとも次の API を有効にすることをおすすめします。
このリストの API を有効にすることでサポートを追加できる他のサービスも、GCP サービス ブローカーでサポートされるようになります。
サービス ブローカーをインストールする
GCP サービス ブローカーのクローンをローカルのワークステーションに作成して、
cd
でその位置に切り替えます。git clone --depth=1 "https://github.com/GoogleCloudPlatform/gcp-service-broker"
cd gcp-service-broker/deployments/helm/gcp-service-broker
Helm チャートの依存関係を更新します。
helm dependency update
values.yaml
ファイルを編集し、broker.service_account_json
の値をkey.json
のコンテンツ全体を含む文字列に設定します。省略可: 残りのプロパティを確認し、環境に合わせて必要な部分を変更します。
# ... broker: # ... service_account_json: "contents of key.json go here" # ...
本番環境で実行している場合は、
mysql.embedded
を false に設定し、自動バックアップとフェイルオーバーを行う外部 MySQL データベースの認証情報を提供します。GCP サービス ブローカーの Kubernetes Namespace を作成します。
kubectl create namespace gcp-service-broker
ブローカーをインストールします。
helm install gcp-service-broker --set svccat.register=false --namespace gcp-service-broker .
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"
ブローカーのインストールを確認する
kf marketplace
を実行します。次のような出力が表示されます。
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 サービス ブローカーがインストールされます。このブローカーを使用してサービスを作成し、Kf でデプロイするアプリにバインドできます。