Introducing the Cloudify Kubernetes Plugin for Orchestrating the Deployment of Applications on K8s Clusters in a Multi-Cloud Environment
Kubernetes has already become a household name in the container management space since it dropped in 2014. When it comes to orchestration, most DevOps people come back to us with “Why orchestrate Kubernetes – it’s already an orchestrator of containers?”
The answer is simple – diverse workloads!
Yes, you want containers, but you also need infrastructure, configuration management, continuous integration, etc. Cloudify enables generic modeling of your whole stack regardless of the IaaS, CM, or any other tool.
Kubernetes is amazing at its job – container scheduling, management, and orchestration of containers. However, it was built to run on a per-cloud basis, so it is going to be incredibly difficult and time consuming, if even possible, to get two clusters – one on AWS and the other on OpenStack, let’s say – to talk with each other, scale together, etc. Cloudify brings a higher level of orchestration – it understands the whole ecosystem of clouds, cloud management tools, and the total DevOps stack, including your applications. If you’re running apps on multiple clouds with different tools, you need a global orchestrator to ensure your container orchestration tasks are working simultaneously between cloud environments.
Learn More About Microservices Orchestration Go
Currently, the Kubernetes plugin – version 1.2 – currently supports the following:
- Lifecycle support for Kubernetes pods and services.
- Get master configuration from runtime properties
- Add ReplicaSet support
- Add PersistentVolume and StorageClass support
- Support Google Authentication for GKE
- Delete Replica Sets by name
- Deployment resource support
- Replication Controller support
- File resource definition support
Basic Plugin Use Cases
A prerequisite for using the plugin is to have a Cloudify Manager and Kubernetes cluster running. If you don’t already have these, see the environment setup example and Kubernetes cluster example.
The main use cases for this plugin are:
- Add new nodes to a cluster
- Orchestrate hybrid cloud scenarios with regular services and microservices in a single deployment (blueprint)
- Associating pods with particular nodes in your cluster
- Add support for Heapster
- Add Helm support
- Becoming a Kubernetes Cloud Provider