What is Kubernetes Service Catalog?

Service catalog is yet another controller in kubernetes ecosystem, What else will it be? 😉

If you are thinking, “I was just starting to understand what are pods and deployments and now this” 🤯
Not to worry that was just the case with me when I started with Service Catalog.

Let’s not panic! Just take a deep breath and thank god because after going through this write-up you’ll be well equipped with the concept of Service Catalog 🎊 🎉

Let’s get started (Service Catalog 101)

Concept of Service Catalog is not specific to kubernetes universe of controllers. It is an old term first referenced in ITIL (Information Technology Infrastructure Library)and has been used many times in software development.
For more information: Click Here

So, What is service catalog?

Let’a take an example of Urban Clap:

And that is it, That is the whole concept of service catalog and brokers.

Now, Apply the same concept in SDLC (Software Development Life Cycle)

Suppose, You are developing an online E-Commerce store and decide to use microservice architecture for the same.
To have a robust website you decided to use following third party services provided by your cloud provider or some other vendor, These services are listed as follows:

Not to the surprise you’ll have to configure access to these services with proper credentials such that only authenticated clients can use these services.

Also, You decided to use kubernetes as the container orchestrator for your website.

Now, To configure access to these services you first instantiated these services on the third party and then created secrets for each of these service credentials and mounted these into the pods and it is working flawlessly.
But as your application is growing you need to use more and more services and configure the credentials for the same which is a bit (very) cumbersome.

ServiceCatalog kubernetes controller to the rescue. Instead of configuring those services manually you deploy a ServiceCatalog and ServiceBroker (Vendor specific) in your cluster and then use the same to create access credential secrets in your cluster and mount those in necessary pods, This is what we call seamlessness of kubernetes universe of controllers.