what is Kubernetes as per Tushar
What is Kubernetes?
- Kubernetes is a container Orchestration engine.
- Kunernetes is a google’s product originally.
- Kubernets comes in Managed and cloud instances.
- we should change the mindset while working on Kubernetes as Pets vs Kettle. So not to try and fix it in prod but replace first approach.
- Kubernetes was donated to CNFC in 2014.
- Kubernetes is originated from Borg and Lambda, google platform is created by it.
- Kubernetes is adopted by many large organizations for their products.
- Kubernetes is written in go-lang.
- Kubernetes provides means to resolve majorly 2 issue with Docker:
- Hosting multiple containers using same ports on on the same host is not possible in Docker
- managing the load balacing and orchestration between multiple hosts.
- Kubernetes is open source and tried tested tool of Google.
- Has a large market capture.
- Community is very strong.
- all the major cloud providers have adopted it.
- provides Application HA and DR on the go.
- Steep learning curve but has its value later on.
- Also supports windows now.
- complex applications can be setup in a few mins.
- Platform Independent.
How Kubernetes works?
- Has a master node called control place.
- For production instance at least 3 Master nodes are suggested.
- Worked nodes or minions are actual machines taking the load.
- Master node guides worker nodes using api server.
- Worker nodes have Kubelet which is an agent to the master node.
- Kubelet takes the instruction to POD which is initializing the one or more containers
- Single host can have multiple pods.
- Each pod can host one or multiple containers.
- Kubproxy takes care of networking part between pods.
- Each pod is assigned with ip from Subnet CIDR range.
All components and roles of their components
- Master Node
- Api Server
- Worker Node
- Kube Proxy
- Container Engine
What is POD?
- A POD is entity with one or more containers.
- PODS are of two types
- Tightly Coupled
- Loosly coupled
- If even a single container fails on a pod, it is destroyed
- Pods can not have multiple containers sharing same port
- pods can not be stop/start
- All the pods within nodes can talk to eachother using ip address and port.
- all the containers in single pod can talk to each other using localhost.