Steps to add a service catalog to a kubernetes cluster on DigitalOcean
-
log into do and provision a new cluster
- follow steps to download config file and make sure that everything is working
- install helm and tiller if you don't have it: https://www.digitalocean.com/community/tutorials/how-to-install-software-on-kubernetes-clusters-with-the-helm-package-manager
-
set up service catalog via helm (commands pulled from https://kubernetes.io/docs/tasks/service-catalog/install-service-catalog-using-helm/#before-you-begin)
helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.comhelm search service-catalog-- if the instillation was successful you should see this:NAME VERSION DESCRIPTION svc-cat/catalog 0.0.1 service-catalog API server and controller-manag...- configure tiller to have cluster-admin access
kubectl create clusterrolebinding tiller-cluster-admin \ --clusterrole=cluster-admin \ --serviceaccount=kube-system:default helm init- this creates a tiller pod. might take a moment to provision so wait a little before running next command.
- install svc-cat under the catalog namespace
helm install svc-cat/catalog \ --name catalog --namespace catalog - check it worked with
kubectl get deployments --namespace=catalog
-
Setup your cluster with secrets and a cluster service broker
- create secret file with basic auth under your catalog namespace:
kubectl create secret generic auth --namespace=catalog \ --from-literal username=ignoreme \ --from-literal password=ignoreme - create a service yaml file (make sure the namespace/name matches the your secret):
apiVersion: servicecatalog.k8s.io/v1beta1 kind: ClusterServiceBroker metadata: name: new-broker spec: url: your_broker_url authInfo: basic: secretRef: namespace: catalog name: auth - create a cluster service broker from that yaml file
kubectl create -f ./test-service-broker.yaml(path to your yaml file you just created) - check it worked with
kubectl get clusterservicebrokers new-broker -o yaml- you'll see a status key and it should say successfully fetched catalog.
- create secret file with basic auth under your catalog namespace:
COMING SOON
Other useful links:
https://github.com/GoogleCloudPlatform/kubernetes-engine-samples/tree/master/service-catalog
https://github.com/openservicebrokerapi/servicebroker/blob/master/gettingStarted.md
https://github.com/pivotal-cf/cf-redis-broker
https://github.com/cloudfoundry-community/worlds-simplest-service-broker
https://github.com/kubernetes-incubator/service-catalog/blob/master/docs/walkthrough.md
https://www.ibm.com/support/knowledgecenter/SSBS6K_3.1.1/manage_applications/service_catalog.html
https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md#binding