Skip to content

Service Catalog

General Info

Concept Description
Goal
  • Sometimes you may need to use an external service like the ones typically offered by the cloud provider
  • When you want to integrate RDS into your existing Kubernetes cluster, you need to be able to deal with it the same way you deal with any other Kubernetes resource
Service Catalog
  • Is an extension API that enables applications running inside the cluster to access applications and services provided by external sources, typically the cloud provider
  • Kubernetes uses the Service Catalog to connect to the external provider using a Service Broker
  • The Broker acts as an interface between the Service Catalog and the internals of the provided service
Architecture
  • Think of the Service Catalog as another Kubernetes cluster running inside the main one
  • While Kubernetes has many types of resources, the Service Catalog offers only four resource types
  • The Service Catalog can be managed and accessed by kubectl like any other Kubernetes resource. However, there is a command-line tool designed specifically to communicate with the Service Catalog called svcat

Resources & Components

Concept Description
Resources The resources that Kubernetes Service Catalog use are:
  • ClusterServiceBroker - refers to the external system that provisions the service
  • ClusterServiceClass - the type of service that the external system can offer
  • ServiceInstance - represents an instance of the provisioned service
  • ServiceBinding - represents the actual binding between 1+ pods and the ServiceInstance
Components The Service Catalog is made up of the following components:
  • The API server
  • The etcd datastore
  • The Controller Manager