サービス カタログのインストール

このページでは、Kubernetes Service Catalog をインストールし、Google Kubernetes Engine クラスタに Google Cloud Service Broker を登録する方法について説明します。

Service Catalog を使用すると、Service Broker に接続することによって、GKE クラスタ内から Cloud Pub/Sub などの他の Google Cloud サービスをプロビジョニングすることができます。

Service Catalog の詳細については、Kubernetes の Service Catalog のドキュメントをご覧ください。

要件

  • Cloud SDK のインストールと初期化が完了していることを確認します。
  • gcloud components install kubectl を実行して kubectl コンポーネントをインストールします。
  • gcloud auth application-default login を実行して、Google API 呼び出しで使用する認証情報を取得します。
  • Kubernetes のクイックスタートに沿って、課金の有効化、デフォルト設定の構成、Kubernetes クラスタの作成、クラスタへのアクセスに必要な認証情報の取得を行います。
  • gcloud config set project [PROJECT_ID] を実行することにより、Kubernetes Service Catalog で使用する Google Cloud プロジェクトが gcloud でデフォルトとして設定されていることを確認します。

概要

コマンドライン ツールである Service Catalog インストーラ(sc)を使用すると、Service Catalog を簡単にインストールして Service Broker を Kubernetes クラスタに追加できます。Service Catalog を使用すると、他の Google Cloud サービスを列挙、プロビジョニング、バインドすることができます。

Service Catalog と Service Broker のインストール

Service Catalog のインストーラをダウンロードする

ご使用のプラットフォーム用の Service Catalog インストーラ アーカイブをダウンロードし、PATH にその内容をインストールします。アーカイブには、sc インストーラ ツールが含まれています。

また、このアーカイブには CloudFlare の PKI ツールキットcfssl バイナリと cfssljson バイナリも含まれているので便利です。また、CloudFlare のリリースページから、ご使用のプラットフォーム用の cfsslcfssljson をダウンロードして PATH にインストールすることもできます。

sc のすべての依存関係がインストールされているかどうかを次のように検査します。

sc check

チェックが成功すると、次のメッセージが出力されます。

Dependency check passed. You are good to go.

クラスタに RBAC 権限を設定する

ご使用の Google Cloud アカウントに、クラスタ管理者役割(cluster-admin)を付与します。このコマンドを実行すると、クラスタに Service Catalog をインストールする権限が付与されます。

kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value account)

役割ベースのアクセス制御に関する追加情報については、Kubernetes のドキュメントをご覧ください。

Service Catalog をインストールする

次のコマンドを実行して、Kubernetes Service Catalog を Kubernetes クラスタにインストールします。

sc install

このコマンドは、service-catalog 名前空間内に複数の Kubernetes デプロイを作成します。これらのデプロイは、Open Service Broker と Kubernetes の統合をサポートします。

sc install コマンドが成功してから、クラスタで Service Catalog が起動するまでに数分かかる場合があります。ステータスを確認するには、次のコマンドを実行します。

kubectl get deployment -n service-catalog

次の出力例のように、すべてのデプロイが AVAILABLE とレポートされた場合、Service Catalog コンポーネントの使用準備は完了です。

NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
apiserver                     1         1         1            1           3m
controller-manager            1         1         1            1           3m
etcd-cluster-backup-sidecar   1         1         1            1           3m
etcd-operator                 1         1         1            1           3m

Google Cloud Platform Service Broker を Service Catalog に登録する

Service Broker を Kubernetes Service Catalog に登録するには、次のコマンドを実行します。

sc add-gcp-broker

このコマンドは以下を行います。

  • いくつかの Google Cloud API を有効にします。
  • プロジェクト固有の Service Broker リソースを作成します。
  • クラスタの Service Catalog に Google Cloud Platform Service Broker を登録します。
  • OAuth 認証拡張機能をインストールします。これにより、Kubernetes Service Catalog は、OAuth を必要とするブローカーで認証されます。

成功すると、次のメッセージが出力されます。

The Service Broker added successfully.

Service Broker が使用可能で準備ができていることを次のように確認します。

kubectl get clusterservicebrokers -o 'custom-columns=BROKER:.metadata.name,STATUS:.status.conditions[0].reason'

Service Catalog がブローカーとの通信を確立し、そのサービスのカタログを取得するので、gcp-brokerSTATUS の値が何度か変化する可能性があります。正常終了した場合、このコマンドは以下のような FetchedCatalog ステータスを出力します。

BROKER       STATUS
gcp-broker   FetchedCatalog

プロジェクト サービス アカウントの役割を設定する

プロジェクト IDプロジェクト番号を見つけます。

GCP_PROJECT_ID=$(gcloud config get-value project)
GCP_PROJECT_NUMBER=$(gcloud projects describe $GCP_PROJECT_ID --format='value(projectNumber)')

また、Cloud Console からこれらの値を見つけることもできます。

cloudservices サービス アカウントにオーナー役割(roles/owner)を付与します。これにより、このサービス アカウントが Cloud Identity and Access Management(Cloud IAM)権限を付与できるようになります。Service Broker は、Cloud IAM 権限をバインディングの一部としてサービス インスタンスに付与します。

gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
    --member serviceAccount:${GCP_PROJECT_NUMBER}@cloudservices.gserviceaccount.com \
    --role=roles/owner

(オプション)svcat CLI ツールのインストール

Service Catalog を操作するには、svcat コマンドライン ツールを使用することをおすすめします。このツールにより、Kubernetes Service Catalog を簡単に操作でき、サービスのプロビジョニングやバインドなど簡単に行うことができます。

Service Catalog のドキュメントで svcatインストール手順を確認できます。

次のステップ