これは、このセクションの複数ページの印刷可能なビューです。 印刷するには、ここをクリックしてください.

このページの通常のビューに戻る.

サービスカタログ

サービスカタログ拡張APIをインストールする

1 - Helmを使用したサービスカタログのインストール

サービスカタログは kubernetesクラスターで稼働するアプリケーションが、クラウドプロバイダーによって提供されるデータストアサービスのように、外部のマネージドソフトウェアを容易に使えるようにするための拡張APIです。

サービスカタログを使用することでサービスブローカーが提供するマネージドサービスを、それらのサービスがどのように作成されるか、また管理されるかについての知識を無しに、一覧表示したり、プロビジョニングや使用をすることができます。

Helmを使用してKubernetesクラスターにサービスカタログをインストールします。手順の最新情報はkubernetes-sigs/service-catalogリポジトリーを参照してください。

始める前に

  • サービスカタログの基本概念を理解してください。
  • サービスカタログを使用するには、Kubernetesクラスターのバージョンが1.7以降である必要があります。
  • KubernetesクラスターのクラスターDNSを有効化する必要があります。
    • クラウド上のKubernetesクラスター、またはMinikubeを使用している場合、クラスターDNSはすでに有効化されています。
    • hack/local-up-cluster.shを使用している場合は、環境変数KUBE_ENABLE_CLUSTER_DNSが設定されていることを確認し、インストールスクリプトを実行してください。
  • kubectlのインストールおよびセットアップを参考に、v1.7以降のkubectlをインストールし、設定を行ってください。
  • v2.7.0以降のHelmをインストールしてください。
    • Helm install instructionsを参考にしてください。
    • 上記のバージョンのHelmをすでにインストールしている場合は、helm initを実行し、HelmのサーバーサイドコンポーネントであるTillerをインストールしてください。

Helmリポジトリーにサービスカタログを追加

Helmをインストールし、以下のコマンドを実行することでローカルマシンにservice-catalogのHelmリポジトリーを追加します。

helm repo add svc-cat https://kubernetes-sigs.github.io/service-catalog

以下のコマンドを実行し、インストールに成功していることを確認します。

helm search service-catalog

インストールが成功していれば、出力は以下のようになります:

NAME                	CHART VERSION	APP VERSION	DESCRIPTION                                                 
svc-cat/catalog     	0.2.1        	           	service-catalog API server and controller-manager helm chart
svc-cat/catalog-v0.2	0.2.2        	           	service-catalog API server and controller-manager helm chart

RBACの有効化

KubernetesクラスターのRBACを有効化することで、Tiller Podにcluster-adminアクセスを持たせます。

v0.25以前のMinikubeを使用している場合は、明示的にRBACを有効化して起動する必要があります:

minikube start --extra-config=apiserver.Authorization.Mode=RBAC

v0.26以降のMinikubeを使用している場合は、以下のコマンドを実行してください。

minikube start

v0.26以降のMinikubeを使用している場合、--extra-configを指定しないでください。 このフラグは--extra-config=apiserver.authorization-modeを指定するものに変更されており、現在MinikubeではデフォルトでRBACが有効化されています。 古いフラグを指定すると、スタートコマンドが応答しなくなることがあります。

hack/local-up-cluster.shを使用している場合、環境変数AUTHORIZATION_MODEを以下の値に設定してください:

AUTHORIZATION_MODE=Node,RBAC hack/local-up-cluster.sh -O

helm initは、デフォルトでkube-systemのnamespaceにTiller Podをインストールし、TillerはdefaultのServiceAccountを使用するように設定されています。

備考: helm initを実行する際に--tiller-namespaceまたは--service-accountのフラグを使用する場合、以下のコマンドの--serviceaccountフラグには適切なnamespaceとServiceAccountを指定する必要があります。

Tillerにcluster-adminアクセスを設定する場合:

kubectl create clusterrolebinding tiller-cluster-admin \
    --clusterrole=cluster-admin \
    --serviceaccount=kube-system:default

Kubernetesクラスターにサービスカタログをインストール

以下のコマンドを使用して、Helmリポジトリーのrootからサービスカタログをインストールします:

helm install catalog svc-cat/catalog --namespace catalog

helm install svc-cat/catalog --name catalog --namespace catalog

次の項目

2 - SCを使用したサービスカタログのインストール

サービスカタログは kubernetesクラスターで稼働するアプリケーションが、クラウドプロバイダーによって提供されるデータストアサービスのように、外部のマネージドソフトウェアを容易に使えるようにするための拡張APIです。

サービスカタログを使用することでサービスブローカーが提供するマネージドサービスを、それらのサービスがどのように作成されるか、また管理されるかについての知識を無しに、一覧表示したり、プロビジョニングや使用をすることができます。

GCPのService Catalog Installerツールを使うと、Kubernetesクラスター上にサービスカタログを簡単にインストール・アンインストールして、Google Cloudのプロジェクトに紐付けることもできます。

サービスカタログ自体は、Google Cloudだけではなく、どのような種類のマネージドサービスでも動作します。

始める前に

  • サービスカタログの基本概念を理解してください。

  • Go 1.6+をインストールして、GOPATHを設定してください。

  • SSLに関するファイルを生成するために必要なcfsslツールをインストールしてください。

  • サービスカタログを使用するには、Kubernetesクラスターのバージョンが1.7以降である必要があります。

  • kubectlのインストールおよびセットアップを参考に、v1.7以降のkubectlをインストールし、設定を行ってください。

  • サービスカタログをインストールするためには、kubectlのユーザーがcluster-adminロールにバインドされている必要があります。正しくバインドされていることを確認するには、次のコマンドを実行します。

      kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=<user-name>
    

ローカル環境にscをインストールする

インストーラーは、ローカルのコンピューター上でscと呼ばれるCLIツールとして実行します。

go getを使用してインストールします。

go get github.com/GoogleCloudPlatform/k8s-service-catalog/installer/cmd/sc

これで、scGOPATH/binディレクトリー内にインストールされたはずです。

Kubernetesクラスターにサービスカタログをインストールする

まず、すべての依存関係がインストールされていることを確認します。次のコマンドを実行してください。

sc check

チェックが成功したら、次のように表示されるはずです。

Dependency check passed. You are good to go.

次に、バックアップに使用したいstorageclassを指定して、installコマンドを実行します。

sc install --etcd-backup-storageclass "standard"

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

Kubernetesクラスターからサービスカタログをアンインストールしたい場合は、scツールを使って次のコマンドを実行します。

sc uninstall

次の項目