An open API service indexing awesome lists of open source software.

https://github.com/primecloudlabs/kubernetes-on-premise


https://github.com/primecloudlabs/kubernetes-on-premise

Last synced: 11 days ago
JSON representation

Awesome Lists containing this project

README

          

# Kubernetes On-Premise Guide (Ubuntu).

## Components

- Kubernetes: `1.35`
- Containerd: `2.2.1`
- Runc: `1.4.0`
- CNI plugins: `1.9.0`
- Calico: `3.30.6`
- MetalLB: `0.15.3`

## Steps

### Preparing the hosts (Update DNS)

- control-plane-00
- node-00
- node-01
- node-02
- node-03
- ...

```sh
export DESIRED_HOST_NAME="control-plane-00"
export CURRENT_HOST_NAME="ubuntu"

sudo apt update && sudo apt -y upgrade
sudo sed -i "s/$CURRENT_HOST_NAME/$DESIRED_HOST_NAME/" /etc/hostname
sudo sed -i "s/$CURRENT_HOST_NAME/$DESIRED_HOST_NAME/" /etc/hosts
sudo reboot
```

### Disable Swap Memory (Kubelet Requirement)

```sh
sudo swapoff -a
sudo sed -i 's/\/swap.img/#\/swap.img/' /etc/fstab
free -h
```

### Installing a container runtime (containerd)

```sh
export CONTAINERD_VER="2.2.1"

curl -L https://github.com/containerd/containerd/releases/download/v$CONTAINERD_VER/containerd-$CONTAINERD_VER-linux-amd64.tar.gz -o containerd-$CONTAINERD_VER-linux-amd64.tar.gz
sudo tar Cxzvf /usr/local containerd-$CONTAINERD_VER-linux-amd64.tar.gz
sudo curl -L https://raw.githubusercontent.com/containerd/containerd/main/containerd.service -o /lib/systemd/system/containerd.service
sudo systemctl daemon-reload
sudo systemctl enable --now containerd
```

#### Installing runc

```sh
export RUNC_VER="1.4.0"

curl -L https://github.com/opencontainers/runc/releases/download/v$RUNC_VER/runc.amd64 -o runc.amd64
sudo install -m 755 runc.amd64 /usr/local/sbin/runc
```

#### Installing CNI plugins

```sh
export PLUGINS_VER="1.9.0"

curl -L https://github.com/containernetworking/plugins/releases/download/v$PLUGINS_VER/cni-plugins-linux-amd64-v$PLUGINS_VER.tgz -o cni-plugins-linux-amd64-v$PLUGINS_VER.tgz
sudo mkdir -p /opt/cni/bin
sudo tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v$PLUGINS_VER.tgz
sudo mkdir /etc/containerd/

sudo sh -c 'containerd config default > /etc/containerd/config.toml'
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

sudo systemctl restart containerd

stat -fc %T /sys/fs/cgroup/
```

### Install and configure prerequisites

```sh
cat <