For any symphony to sound mellifluous it is absolutely necessary to have an orchestrator which can make it sound so. Same is the case with containerization as Kubernetes is turning out to be a fine orchestrator.
Google announced Kubernetes in mid-2014 though Kubernetes v1.0 was officially released on 21st July 2015. Kubernetes was offered to the Linux Foundation as a part of the Cloud Native Computing Foundation. 2016 saw Kubernetes community expanding to its potential as the tech-world realized the plausible future of container orchestration. Contribution to the project increased and so did the capabilities. Along with Google, RedHat, Huawei, FathomDB, Core OS, Rackspace, IBM, ZTE Corporation, Fujitsu, Mesosphere, BOX, CERN, Intel are other top contributors. Google released it as an open-source project allowing 1,000+ community contributors with 34,000 commits to bolster the platform. Their community is 5 times bigger than Mesos (the next biggest competitor community) and larger than all the competitor communities combined. With so much involvement from so many, 2017 could be the year Kubernetes becomes the backbone of distributed systems.
Why organizations are switching to containers and how it is helping Kubernetes’ evolution?
It is easy to move containers than VMs because containers share OS on the physical host. You can fit more containers on a host than VMs as the later shares Kernels, libraries, and binaries. So a VM required to run an application might take several multiple bytes of data as compared to a container running the same application. As a result of this, organizations are preferring containers to VMs, which in turn means rise of orchestrators like Kubernetes.
There are certain aspects which should be considered while deploying Kubernetes like infrastructure controllers, container formats and run-times, container OSes and hypervisors, container managers, management consoles, registries, volume managers, container virtual networking, infrastructure managers and scheduler frameworks.
Things you can do with Kubernetes:
Containers enable developers to scale, deploy and manage newly written applications but the existing containers may not cope with managing, scheduling, and deployment across a multi-node environment by themselves. The biggest advantage Kubernetes provides above other container management platforms is it solves problems associated with multi-infrastructure environments. You can write containerized applications once and just sit back and enjoy its deployment on any cloud infrastructure, private or public.
With Kubernetes, developers can deploy applications within less time with more scalability, better resource allocation and without the risks associated with multi-cloud, multi-OS environments. These features are helping organizations develop their own products based on this, RedHat’s Openshift, Core OS’ Tectonic, Rancher Labs’ Rancher container management platform to name a few.
One area where Kubernetes is playing a major role is Hardware usage. Reports suggest 40-50% reduction in hardware requirement. The reason being lightweight nature of containers and ability to more quickly kill unused entities.
What’s new in Kubernetes 1.6?
In Kubernetes 1.6 you can expect lots of new features like DaemonSet, ETCD v3 which will help us enable up to 5000 nodes, Kubernetes Federation (beta release), RBAC authorizer (Role-based access control), scalability updates, advanced scheduling, networking and storage improvements, improvements to Kubeadm.
What can we expect and what can be done?
It’s been more than 2 years since Kubernetes first appeared in the container world. Recent studies have shown lot of efforts put in towards the developing Kubernetes ecosystem. Stability and scalability for large scale deployments is the area which can see a lot of changes. We can support 5000 nodes and 1.5 lac pods but what if we require more in a multi-cluster management? Along with this Kubernetes community needs to address the gap between initial set up and running Kubernetes at scale. If unified efforts are put in the right direction we can see post Kubernetes companies with products on Kubernetes.
Opcito and Kubernetes:
Opcito has been helping clients manage Kubernetes clusters on top of bare metal, GKE, AWS, and Azure or other cloud infrastructure. Setting up robust, production-ready Kubernetes clusters with complete logging, monitoring and disaster recovery solutions, we are getting our clients up and ready with containers in virtue of our Kubernetes expertise in KOPS, Minikube, Kubeadm and Kargo. For more insights of how we can accelerate your containerization initiative visit - Opcito's center-of-excellence page.