Kubernetes cluster

Kubernetes components 

A Kubernetes cluster consists of the components that represent the control plane and a set of machines called nodes.

Control Plane Components 

  • kube-api server – The API server is a component of the Kubernetes control plane that exposes the Kubernetes API. The API server is the front end for the Kubernetes control plane
  • etcd – Consistent and highly-available key value store used as Kubernetes’ backing store for all cluster data
  • kube-scheduler – Control plane component that watches for newly created Pods with no assigned node, and selects a node for them to run on
  • kube-control-manager – Control Plane component that runs controller processes
  • cloud-controller-manager

Nodes Components 

  • kublet – An agent that runs on each node in the cluster. It makes sure that containers are running in a pod.
  • kube-proxy – kube-proxy is a network proxy that runs on each node in your cluster, implementing part of the Kubernetes Serviceconcept.
  • container runtime – The container runtime is the software that is responsible for running containers.

Cluster Networking

Managing a network where containers can interoperate efficiently is very important. Kubernetes has adopted the Container Network Interface(CNI) specification for managing network resources on a cluster. This relatively simple specification makes it easy for Kubernetes to interact with a wide range of CNI-based software solutions.

Networking is a central part of Kubernetes, but it can be challenging to understand exactly how it is expected to work.

There are 4 distinct networking problems :

  1. container-to-container communications: this is solved by pods and localhost communications.
  2. Pod-to-Pod communications
  3. Pod-to-Service communications: this is covered by services.
  4. External-to-Service communications: this is covered by services.

 

Ingress 

An API object that manages external access to the services in a cluster, typically HTTP.

Ingress may provide load balancing, SSL termination and name-based virtual hosting

Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource.

Kubernetes network 

Kubernetes objects 

Kubernetes objects are persistent entities in the Kubernetes system. Kubernetes uses these entities to represent the state of your cluster. Specifically, they can describe:

  • What containerized applications are running (and on which nodes)
  • The resources available to those applications
  • The policies around how those applications behave, such as restart policies, upgrades, and fault-tolerance

 

  • The kubelet uses liveness probes to know when to restart a container
  • The kubelet uses readiness probes to know when a container is ready to start accepting traffic
  • The kubelet uses startup probes to know when a container application has started

 

 

Kubernetes cluster

Install Kubernetes – Master node

Install Kubernetes – Minios / Nodes

#kubectl version

#kubectl get nodes –help

#kubectl get nodes

 

# kubectl run

 

Reference

https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

 

Leave a comment