Over the past few days, I’ve been experimenting with Kubernetes – also known as k8s – as a way to scale applications containers. Kubernetes is a cloud-ready platform developed by Google and is seen mostly in providers clouds like GCE and AWS. There are ways to deploy Bare-Metals cluster but it’s a mix and match of different tools without a specific one being in the lead. For hosting on AWS, “kops” is a well maintained and production ready tool. For GCE, google already offers the option to deploy K8s clusters.
For bare-metal clusters, a tool named “Kubeadm” is currently being worked on by the community/Google in order to provide a quick and secure way to deploy a K8s cluster. It’s currently in alpha and is not quite ready for production as it cannot deploy HA clusters just yet. But it’s still is an awesome way to spin up a quick test cluster to play around with.
I’ve recently built a few custom Ansible playbooks in order to leverage the automation platform to remotely build my clusters without ever logging into a server.
To use it, simply follow the following steps!
- Install Ansible
- Install Make
- Edit the k8s-inventory file to reflect your machines.
- From the root folder – use the following syntax : make k8s-*TAB for auto completion*
- I recommend deploying the “k8s-common” role first as it ensures is setup to support the kubernetes components.