Deploying Kubernetes from scratch

Could someone share some good tutorials how to deploy kubernetes cluster on my own server.

I do not wana use amazon,bigital ocean or linode.

I have my proxmox server.

So the ideal scenario will be 1 master and 3 slave nodes 4-th if its necessary.

Ive watch some tutorials but still i would like to find out more and from people who can point me in right direction.

My nodes currently have installed only os which is Ubuntu 20.04



The best option is to start with the Kubernetes Getting started section.

For a cluster you’re managing yourself, the officially supported tool for deploying Kubernetes is kubeadm.

Check this link – Bootstrapping clusters with kubeadm. This guide describes all the necessary steps:

  • Installing kubeadm
  • Troubleshooting kubeadm
  • Creating a cluster with kubeadm
  • Customizing components with the kubeadm API
  • Options for Highly Available Topology
  • Creating Highly Available Clusters with kubeadm
  • Set up a High Availability etcd Cluster with kubeadm
  • Configuring each kubelet in your cluster using kubeadm
  • Dual-stack support with kubeadm

Also, check this link – Production environment:

A production-quality Kubernetes cluster requires planning and preparation. If your Kubernetes cluster is to run critical workloads, it must be configured to be resilient. This page explains steps you can take to set up a production-ready cluster, or to promote an existing cluster for production use.

There is also Kubespray:

Kubespray is a composition of Ansible playbooks, inventory, provisioning tools, and domain knowledge for generic OS/Kubernetes clusters configuration management tasks.

Kubespray vs Kubeadm

Kubeadm provides domain Knowledge of Kubernetes clusters’ life cycle management, including self-hosted layouts, dynamic discovery services and so on. Had it belonged to the new operators world, it may have been named a “Kubernetes cluster operator”. Kubespray however, does generic configuration management tasks from the “OS operators” ansible world, plus some initial K8s clustering (with networking plugins included) and control plane bootstrapping.
Kubespray has started using kubeadm internally for cluster creation since v2.3 in order to consume life cycle management domain knowledge from it and offload generic OS configuration things from it, which hopefully benefits both sides.

Source : Link , Question Author : Philip Scot , Answer Author : mozello

Leave a Comment