what is Kubernetes as per Tushar

What is Kubernetes?

  1. Kubernetes is a container Orchestration engine.
  2. Kunernetes is a google’s product originally.
  3. Kubernets comes in Managed and cloud instances.
  4. 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.
  5. Kubernetes was donated to CNFC in 2014.
  6. Kubernetes is originated from Borg and Lambda, google platform is created by it.
  7. Kubernetes is adopted by many large organizations for their products.
  8. Kubernetes is written in go-lang.

Why Kubernetes?

  1. 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.
  2. Kubernetes is open source and tried tested tool of Google.
  3. Has a large market capture.
  4. Community is very strong.
  5. all the major cloud providers have adopted it.
  6. provides Application HA and DR on the go.
  7. Steep learning curve but has its value later on.
  8. Also supports windows now.
  9. complex applications can be setup in a few mins.
  10. Platform Independent.

How Kubernetes works?

  1. Has a master node called control place.
  2. For production instance at least 3 Master nodes are suggested.
  3. Worked nodes or minions are actual machines taking the load.
  4. Master node guides worker nodes using api server.
  5. Worker nodes have Kubelet which is an agent to the master node.
  6. Kubelet takes the instruction to POD which is initializing the one or more containers
  7. Single host can have multiple pods.
  8. Each pod can host one or multiple containers.
  9. Kubproxy takes care of networking part between pods.
  10. Each pod is assigned with ip from Subnet CIDR range.

All components and roles of their components

  1. Master Node
    1. Controller
    2. Scheduler
    3. etcd
    4. Api Server
  2. Worker Node
    1. Kubelet
    2. Kube Proxy
    3. Container Engine
    4. PODS
    5. Containers

What is POD?

  1. A POD is entity with one or more containers.
  2. PODS are of two types
    • Tightly Coupled
    • Loosly coupled
  3. If even a single container fails on a pod, it is destroyed
  4. Pods can not have multiple containers sharing same port
  5. pods can not be stop/start
  6. All the pods within nodes can talk to eachother using ip address and port.
  7. all the containers in single pod can talk to each other using localhost.