fix: log spam every minute "Liveness (or Readiness) probe already exists for container", for every container. Logs where being registered on k3s process (systemd logs).
3.9 KiB
3.9 KiB
Casa k3s cluster
k3s version: v1.35.2+k3s1
Table of Contents:
Common
Disable swap:
swapoff -a
Edit /etc/fstab and comment out any swap entries:
# /swapfile none swap sw 0 0
Other Packages:
sudo apt update -y && \
sudo apt install -y \
curl \
btop
Update system:
sudo apt update -y && \
sudo apt upgrade -y && \
sudo apt auto-remove -y
name servers:
cat <<EOF > /etc/resolv.conf
domain dev.lan
search dev.lan. lan.
nameserver 192.168.14.254
EOF
Master Node
| Name | Value |
|---|---|
| NAME | casa.dev.lan |
| VLAN | casa |
| IP | 192.168.14.9 |
| OS | Debian GNU/Linux 12 (bookworm) |
Master Node - proxmox vm
hosted on surfacepro.
agent: 1
balloon: 0
boot: order=scsi0;ide2;net0
cores: 2
cpu: host
ide2: none,media=cdrom
memory: 2355
meta: creation-qemu=10.1.2,ctime=1762626497
name: casa
net0: virtio=BXX:XX:XX:XX:XX:XX,bridge=vmbr0,tag=xx
numa: 0
onboot: 1
ostype: l26
scsi0: local-lvm:vm-XXX-disk-0,iothread=1,size=24G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=cxxxx-xxxx-xxxx-xxxx-xxxx
sockets: 1
usb0: host=1-1.1
Master Node - network configuration
ip a # check ethernet name
# removes automatic configuration as dhcp client
sed -i '/ens18/d' /etc/network/interfaces
cat <<EOF > /etc/network/interfaces.d/ens18
# my network configuration
auto ens18
iface ens18 inet static
address 192.168.14.9/24
gateway 192.168.0.1
EOF
Master Node - k3s setup
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.35.2+k3s1 sh -
Taint NoSchedule on master node:
kubectl taint nodes node-role.kubernetes.io/control-plane=:NoSchedule
kubectl taint nodes casa node-role.kubernetes.io/control-plane=:NoSchedule
minion01 - worker node
Minion01 - proxmox vm
hosted on gaia.
agent: 1
balloon: 0
boot: order=scsi0;ide2;net0
cores: 4
cpu: host
ide2: none,media=cdrom
memory: 4096
meta: creation-qemu=10.1.2,ctime=1763219351
name: casa-minion-01
net0: virtio=BXX:XX:XX:XX:XX:XX,bridge=vmbr0,tag=xx
numa: 0
onboot: 1
ostype: l26
scsi0: fastcore:vm-XXX-disk-0,iothread=1,size=8G,ssd=1
scsi1: fastcore:vm-XXX-disk-1,iothread=1,size=16G,ssd=1
scsihw: virtio-scsi-single
smbios1: xxxx-xxxx-xxxx-xxxx-xxxx
sockets: 1
| Name | Value |
|---|---|
| NAME | minion01 |
| VLAN | casa |
| IP | 192.168.14.10 |
| OS | Debian GNU/Linux 12 (bookworm) |
casa-minion-01 - k3s - setup
# install k3s as agent / worker node
# execute on server to get token
# cat /var/lib/rancher/k3s/server/node-token
K3S_TOKEN="???"
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.35.2+k3s1 INSTALL_K3S_EXEC="agent --data-dir /dataDisk/k3s --server https://casa.dev.lan:6443 --token ${K3S_TOKEN}" sh -s -
Change kubectl -n kube-system edit configmap local-path-config on kube-system to set path to provisioner.
config.json: |-
{
"nodePathMap":[
{
"node":"DEFAULT_PATH_FOR_NON_LISTED_NODES",
"paths":["/var/lib/rancher/k3s/storage"]
},
{
"node":"casa-minion-01",
"paths":["/dataDisk/k3s/storage"]
}
]
}
Set node labels:
kubectl label node casa-minion-01 role=worker-node