https://github.com/primecloudlabs/kubernetes-on-premise
https://github.com/primecloudlabs/kubernetes-on-premise
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/primecloudlabs/kubernetes-on-premise
- Owner: antonputra
- Created: 2024-08-07T17:24:01.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-17T16:26:45.000Z (over 1 year ago)
- Last Synced: 2025-03-10T07:57:43.396Z (over 1 year ago)
- Language: Shell
- Size: 12.7 KB
- Stars: 43
- Watchers: 6
- Forks: 23
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 <