Installing Kubernetes
Kubernetes Configuration.
Four major installation types.
- All-in-One Single-Node Installation.
- Master and worker are installed and running on a single-node
- Useful for learning, development and testing.
- Should not be used in production.
- For instance Minikube.
- Single-Node etcd, Single-Master and Multi-Worker Installation.
- Single-Node etcd, Multi-Master and Multi-Worker Installation.
- Multiple Master nodes configured in HA mode.
- Multiple worker nodes are connected to the master nodes.
- Multi-Node etcd, Multi-Master and Multi-Worker Installation.
- etcd is configured in clustered HA mode.
- Master nodes are all configured in HA mode, connecting to multiple worker nodes.
- This is the most advanced and recommended production setup.
Infrastructure for Kubernetes Installation.
After installation type was chosen. we need to make some Infrastructure-related decision, such as
- Should we setup K8s on
- bare metal
- public cloud
- private cloud
- Underlying OS ?
- Which networking solution should we use?
- And so on.
- More details on the official doc
Localhost Installation
only a few option for localhost installation available to deploy single or multi-node k8s cluster on our
workstation/laptop.
- Minikube single-node local k8s
cluster. recommended
- Docker Desktop single-node local k8s
cluster for Windows and Mac
- CDK on LXD multi-node local cluster
with LXD containers.
On-Premise Installation.
K8s can be installed on-premise on VMs and bare metal.
- On-Premise VMs
- via Vagrant, VMware vSphere, KVM, or another Configuration Management tool in conjunction with a
hypervisor software.
- Tools
- On-Premise Bare Metal
- Need underlying OS like RHEL, CoreOS, CentOS, Fedora, Ubuntu, etc.
- Most of the tools used to install K8s on VMs can be used with bare metal installations as well.
Cloud Installation
- Hosted Solutions
Any given software is completely managed by the provider. The user pay hosting and management charges.
Some of the vendors providing hosted solutions for k8s are :
- Turnkey Cloud Solutions.
install Kubernetes with just a few commands on an underlying IaaS platform, such as :
- Turnkey On-Premise Solutions
Install Kubernetes on secure internal private clouds with just a few commands:
- kubeadm
- first-class citizen on the k8s ecosystem.
- recommended way to bootstrap a single- or multi-node k8s cluster.
- kubeadm doesn't support the provisioning of hosts.
- kubespray
- formerly known as kargo
- based on Ansible.
- It is a Kubernetes Incubator project
- Install Highly Available K8s on AWS, GCE, Azure, OpenStack, or bare metal.
- kops
- create, destroy, upgrade and maintain production-grade, highly-available k8s cluster from the
command line.
- It can provision the machines.
- AWS is officially supported.
- Support for GCE is in beta.
- Support for VMware vSphere in alpha stage.
- kube-aws
- create, upgrade and destroy k8s clusters on AWS from the command line.
- It is also K8s Incubator project.