In this article, we're going to look at Kubernetes as a service but before we drill into Kubernetes, let's first try to understand what exactly this Kubernetes in the first place. This is a tool that's available on the Internet, but why do we need this tool in the first place? Why do we need this platform?
We already know how we could create containers using docker and how we could basically launch containers on a virtual machine that has the engine running.
In companies, you won't just have one container, you would have maybe thousands of containers, having thousands of application components, and could be having it distributed across a lot of virtual machines.
Now to keep track of these containers on these virtual machines or to scale these containers or in order to ensure that if a container stops working, that need to bring the container back.
So, all of this is really a tedious and manual process and it gets more difficult. Once the number of containers starts increasing and the number of virtual machines running these containers starts to increase.
In such a case, you need some sort of container orchestration software.
So, software or a platform that can allow you to manage these containers and manage the virtual machines that are hosting these containers and that's where you have the Kubernetes service.
This is an open-source platform that's available for managing your containers and the virtual machines, hosting your containers.
Now, if you look at the simple architecture of how you would deploy Kubernetes, first you would go ahead and have a virtual machine on which you would host the master node for a Kubernetes cluster.
You would download and install the software on the virtual machine and mark it as a master of something known as a cluster.
Now, on this cluster, you would have nodes or virtual machines that would be used to run your docker containers. These nodes would be managed by your master node so on each of these nodes again, you would install the software on all these nodes as well, and you connect them to the master in your cluster.
You would then deploy your containers onto the nodes using something known as kubectl tool.
So this is a command-line interface tool that can be used to work with this cluster. If you want to deploy your containers onto the cluster, you can use the kubectl tool.
This is just a primer on Kubernetes. We now move on to azure Kubernetes and see how we can deploy a simple cluster.
What is Kubernetes?
- This is an open-source platform that is used to manage containerized workloads.
- Kubernetes can provide a DNS name to your container.
- If there is a high load on the containers, Kubernetes can also load, balance, and distribute network traffic.
- Kubernetes can also restart containers that fail. If any of your application containers failed in the cluster, Kubernetes will try to restart those containers.
- It can also be used to replace or kill containers.
- It also helps store and manage sensitive information such as passwords or OAuth tokens and ssh keys.
What is azure Kubernetes?
- This is a fully managed service on the azure.
- This makes easy to deploy and manage containerized applications.
- It helps to remove the burden of managing underlying infrastructure for the Kubernetes deployment.