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

次の項目