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

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

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

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 で使用している GCP プロジェクトが gcloud でデフォルトとして設定されていることを確認します。

概要

Service Catalog のインストーラ(sc)はコマンドライン ツールであり、これを使用すると、Service Catalog を簡単にインストールしたり、Service Broker を Kubernetes クラスタに簡単に追加したりできます。Service Catalog を使用すると、他の GCP サービスの一覧表示、プロビジョニング、バインドを行うことができます。

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 権限を設定する

ご使用の GCP アカウントに、クラスタ管理者役割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

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

  • いくつかの GCP 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 がブローカーとの通信を確立し、その 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)を付与して、このサービス アカウントが IAM 権限を付与できるようにします。Service Broker は、サービス インスタンスへのバインドの一環として 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インストール手順を確認できます。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Kubernetes Engine のドキュメント