Install Service Catalog using Helm

Service Catalog is an extension API that enables applications running in Kubernetes clusters to easily use external managed software offerings, such as a datastore service offered by a cloud provider.

It provides a way to list, provision, and bind with external Managed Services from Service Brokers without needing detailed knowledge about how those services are created or managed.

Use

Before you begin

Add the service-catalog Helm repository

Once Helm is installed, add the service-catalog Helm repository to your local machine by executing the following command:

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

Check to make sure that it installed successfully by executing the following command:

helm search repo service-catalog

If the installation was successful, the command should output the following:

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

Enable RBAC

Your Kubernetes cluster must have RBAC enabled, which requires your Tiller Pod(s) to have cluster-admin access.

When using Minikube v0.25 or older, you must run Minikube with RBAC explicitly enabled:

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

When using Minikube v0.26+, run:

minikube start

With Minikube v0.26+, do not specify --extra-config. The flag has since been changed to --extra-config=apiserver.authorization-mode and Minikube now uses RBAC by default. Specifying the older flag may cause the start command to hang.

If you are using hack/local-up-cluster.sh, set the AUTHORIZATION_MODE environment variable with the following values:

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

By default, helm init installs the Tiller Pod into the kube-system namespace, with Tiller configured to use the default service account.

Configure Tiller to have cluster-admin access:

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

Install Service Catalog in your Kubernetes cluster

Install Service Catalog from the root of the Helm repository using the following command:

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

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

What's next

Last modified March 17, 2021 at 2:00 PM PST: