Kubernetes is an open source platform to automate Linux container operations, simply put as containerised applications. Basically, Kuberenetes helps you manage clusters of hosts running said containers smoothly and efficiently.
These clusters can have hosts across public, private or hybrid clouds. This makes Kubernetes an ideal platform to support native cloud apps that would require rapid scaling.
Kubernetes was originally developed at Google. Google was also one of the early contributors to Linux container technology, and they have been quite open about how Google runs pretty much everything in containers – the technology behind Google’s cloud services.
Overall, Google generates over two billion container deployments in a week. A platform called Borg powered all these deployments. Kubernetes is the successor to Borg and all the lessons learned from developing Borg over the years have influenced much of the technology behind Kubernetes
You might know Kubernetes as an open-source system for automating deployment, scaling, and management of containerised applications. In this article, I’m going to talk about five things that you might not know about Kubernetes.
Why is Kubernetes abbreviated as k8s?
This is called a numeronym. They began in the early 80s, and there are a lot of stories about how people started using them.
It’s based on a straightforward method. You take the first and the last alphabet of the word and put a number of the rest of the letters between them.
Hence for Kubernetes, “k” plus eight letters plus the letter “s.” And there you go, k8s.
Is Kubernetes only for Stateless Applications?
Kubernetes was originally made for stateless applications, and support for stateful applications was deficient and always unreliable.
Kuberenetes supports the concept of persistent volume and persistent volume claims and a bunch of other types of volumes as well.
Can you use it for Hybrid cloud deployment?
In the early stages, you couldn’t as k8s only supported deployment in one datacenter.
However, later, the Kubernetes Foundation was developed. This allowed for a hybrid scenario where several k8s clusters can be controlled from one control panel.
So yeah. You can use it for Hybrid cloud deployment just as quickly.
Pod and a container: Difference
If you’re migrating to k8s from docker, you might only know how to work with containers. However, in Kubernetes, the control unit is a pod, not a container.
A pod in Kubernetes can be termed as a group of containers that are deployed together on the same host. A pod’s contents are run in a shared context and are always co-located and co-scheduled. Keep in mind though, inside pod containers do not scale in any way, and this should be considered when designing applications.
How does Kubernetes simplify containerised development?
First up, Kubernetes offers built-in service discovery. So new services are automatically assigned a unique domain name.
Kubernetes also uses a rolling update strategy to roll-out pod version updates. This really helps in avoiding downtime by maintaining some instances up-and-running at any moment while performing the updates
Then there’s also the fact that Kubernetes offers flexible manifests for the deployment of applications that support different deployment strategies of container applications. It also has canary deployment support for A/B tests. Then there are also built-in health checks and Prometheus-based monitoring.
Someone who writes/edits/shoots/hosts all things tech and when he’s not, streams himself racing virtual cars. You can reach out to Yadullah at [email protected], or follow him on Instagram or Twitter.