IT in a box - Kubernetes
After quite some time I am leading a K8S project, I sat back for a moment and remembered how we did all those things in the past, how long did it take to add another service (service =server most of the times in traditional IT) to an application cluster. Sounds trivial but took some time for:
planning then involve network, system, IS teams to implement while today it is all being done in one box with one guy...which is amazing !!!
Due to the fact docker is being considered as a mortal component K8S has a built in mechanism to recover or basically set a new copy of the same service.
Let’s take a scenario – I have an application I would like to set in the organization:
3 front-end instances
2 ESB instances
2 BL (business Logic) instances
1 IDM instance
1 DB
In traditional IT each and every instance installed on a server we should add NLB to route the traffic between servers and we should consider in which way we will recover a server if for some reason it is broken or malfunctioning – add a server manually or prepare it upfront ?
Then allocate VM’s for the project from IT and add monitoring as part of it being running in production.
How the same scenario will be prepared in K8S:
First of all different dockers using different technologies can share the same machine, hence all the apps listed above might be installed on the same 3 servers including the DB docker. We just need another server for K8S Manager.
We can detect immediately our 1st advantage – Resources saving.
K8S Built-in NLB, 2nd advantage – using K8S Service feature you are distributing the traffic to the apps (you don’t need another app or appliance for doing that)
High Availability, 3rd advantage – when using K8S PODs and Services the K8S manager will auto recover a service, in that case docker, whenever it is being malfunctioning for any reason so comparing to traditional IT, K8S install a new server and allocated it the IP’s automatically with no need for manual interference.
Monitoring, 4th advantage – K8s being installed with Grafana, heapster and influxDB as its monitoring tools and dashboard. In a very basic setup you can see the dockers Memory and CPU consumption so you can detect immediately: what is the overall consumption? if any resources should be added, which PODS/Apps are up, how many instances you have installed of each app and more.
All of the above is being done with an opensource platform which is being supplied with RHEL license free of charge.
Each IT manager should take that platform into account - it is definitely a game changer!