This the multi-page printable view of this section. Click here to print.
Service Catalog
1 - 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 Helm to install Service Catalog on your Kubernetes cluster. Up to date information on this process can be found at the kubernetes-sigs/service-catalog repo.
Before you begin
- Understand the key concepts of Service Catalog.
- Service Catalog requires a Kubernetes cluster running version 1.7 or higher.
- You must have a Kubernetes cluster with cluster DNS enabled.
- If you are using a cloud-based Kubernetes cluster or Minikube, you may already have cluster DNS enabled.
- If you are using
hack/local-up-cluster.sh
, ensure that theKUBE_ENABLE_CLUSTER_DNS
environment variable is set, then run the install script.
- Install and setup kubectl v1.7 or higher. Make sure it is configured to connect to the Kubernetes cluster.
- Install Helm v2.7.0 or newer.
- Follow the Helm install instructions.
- If you already have an appropriate version of Helm installed, execute
helm init
to install Tiller, the server-side component of Helm.
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.
--tiller-namespace
or --service-account
flags when running helm init
, the --serviceaccount
flag in the following command needs to be adjusted to reference the appropriate namespace and ServiceAccount name.
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
- View sample service brokers.
- Explore the kubernetes-sigs/service-catalog project.
2 - Install Service Catalog using SC
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.
You can use the GCP Service Catalog Installer tool to easily install or uninstall Service Catalog on your Kubernetes cluster, linking it to Google Cloud projects.
Service Catalog can work with any kind of managed service, not only Google Cloud.
Before you begin
-
Understand the key concepts of Service Catalog.
-
Install Go 1.6+ and set the
GOPATH
. -
Install the cfssl tool needed for generating SSL artifacts.
-
Service Catalog requires Kubernetes version 1.7+.
-
Install and setup kubectl so that it is configured to connect to a Kubernetes v1.7+ cluster.
-
The kubectl user must be bound to the cluster-admin role for it to install Service Catalog. To ensure that this is true, run the following command:
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=<user-name>
Install sc
in your local environment
The installer runs on your local computer as a CLI tool named sc
.
Install using go get
:
go get github.com/GoogleCloudPlatform/k8s-service-catalog/installer/cmd/sc
sc
should now be installed in your GOPATH/bin
directory.
Install Service Catalog in your Kubernetes cluster
First, verify that all dependencies have been installed. Run:
sc check
If the check is successful, it should return:
Dependency check passed. You are good to go.
Next, run the install command and specify the storageclass
that you want to use for the backup:
sc install --etcd-backup-storageclass "standard"
Uninstall Service Catalog
If you would like to uninstall Service Catalog from your Kubernetes cluster using the sc
tool, run:
sc uninstall
What's next
- View sample service brokers.
- Explore the kubernetes-sigs/service-catalog project.