Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts. It aims to provide better ways of managing related, distributed components across varied infrastructure.

Kubernetes is,

lean: lightweight, simple, accessible

portable: public, private, hybrid, multi-cloud

extensible: modular, pluggable, hookable, composable

self-healing: auto-placement, auto-restart, auto-replication

Kubernetes has several components and it works in server-client setup, where it has a master providing centralized control for a number of minions.

etcd – A highly available key-value store for shared configuration and service discovery.flannel – an overlay network fabric enabling container connectivity across multiple servers.kube-apiserver – Provides the API for Kubernetes orchestration.kube-controller-manager – Enforces Kubernetes services.kube-scheduler – Schedules containers on hosts.kubelet – Processes a container manifest so the containers are launched according to how they are described.kube-proxy – Provides network proxy services.Docker – An API and framework built around Linux Containers (LXC) that allows for the easy management of containers and their images.

How to install Kubernetes and setup minions in centos 7

We are using the following example master and minon hosts. You can add many extra nodes using the same installation procedure for Kubernetes nodes.