{{tag>projects Linux Kubernetes k8s kubeadm installation setup}} **What is Kubernetes ( k8s ) and why would I want to use it?** {{:projects:datacenter_servers.jpg:?100 |}} [[http://kubernetes.io/ | Kubernetes ( k8s )]] is a free tool to manage containers ( portable applications ) in a cluster. Applications used to run on physical servers that requred maintenance and care. It was common to have multiple applications running on the same server. That caused a lot of pain when applications required conflicting versions of dependencies. {{:projects:vmware_logo.svg.png?100 |}} Virtualization transformed the landscape, allowing separate "servers" or virtual machines to be running on physical servers. This was a significant step towards resolving the conflicts. However, that generated a lot more work for system administrators to maintain the exponential increase in servers. {{:projects:docker-logo.png?100 |}} Next, containerization has transformed the lastscape by reducing the number of physical and virtual servers system administrators have to maintain. This is done by creating and using small, portable chucks called images. These images contain the minimal requirements for applications to run independantly. This is solved the maintenance and virtualization sprawl problem, but if you have more than a few servers running containers, management of those can be challenging. Additionally, having to keep track of which containers are running on each physical/virtual server is a challenge. Finally, if a server hosting your containers goes down for any reason, those applications are not running. That can be a significant issue. {{:projects:kubernetes-logo.png?100 |}} Now, Kubernetes ( k8s ) has transformed the landscape again. While building on the benefits of containerization, k8s has brought high availability and cluster management to the table. When a physical/virtual server in the cluster is down for any reason, the change is noticed by the management nodes, collectively known as the control plane, action is then taken to start the application containers on another node in the cluster. This ability and automation has make k8s a very popular option. There are many ways and tools to install and confgure k8s clusters. There are a lot of decisions to be made. In these articles, I describe how to setup a cluster, hopefully, with the least amount of confusion. [[k8s_setup_with_kubeadm|Install Kubernets with kubeadm]] [[k8s_setup_with_k0s|Install Kubernets with k0s ( manual setup )]] [[k8s_setup_with_k0s_k0sctl|Install Kubernets with k0sctl ( automated setup )]]