diff --git a/docs/k3s-cluster.md b/docs/k3s-cluster.md index f599574..fbbb362 100644 --- a/docs/k3s-cluster.md +++ b/docs/k3s-cluster.md @@ -2,18 +2,12 @@ **Table of Contents:** -- [Nodes](#nodes) - - [Master Node](#master-node) - - [worker node](#worker-node) - -## Nodes - -**Setup user for ssh access:** - -``` bash -apt install sudo -usermod -aG sudo mf -``` +- [Master Node](#master-node) + - [Master Node - proxmox vm](#master-node---proxmox-vm) + - [Master Node - network configuration](#master-node---network-configuration) +- [minion01 - worker node](#minion01---worker-node) + - [Minion01 - proxmox vm](#minion01---proxmox-vm) + - [Minion01 - k3s -setup](#minion01---k3s--setup) **Disable swap:** @@ -29,16 +23,48 @@ Edit /etc/fstab and comment out any swap entries: sudo apt update -y | sudo apt install curl btop -y ``` -### Master Node +## Master Node -- debian 12 -- 2g ram -- 24Gb disk +| Name | Value | +| --- | --- | +| **NAME** | casa.dev.lan | +| **VLAN** | casa | +| **IP** | 192.168.14.9 | +| **OS** | Debian GNU/Linux 12 (bookworm) | +| **k3s** | v1.34.3+k3s1 (48ffa7b6) | +| **go** | go1.24.11 | + +### Master Node - proxmox vm + +*hosted on surfacepro.* + +``` yaml +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 ``` bash ip a # check ethernet name -# removes automatic vonfiguration as dhcp client +# removes automatic configuration as dhcp client sed -i '/ens18/d' /etc/network/interfaces cat < /etc/network/interfaces.d/ens18 @@ -68,36 +94,53 @@ kubectl taint nodes node-role.kubernetes.io/control-plane=:No kubectl taint nodes casa node-role.kubernetes.io/control-plane=:NoSchedule ``` -### worker node +## minion01 - worker node -- debian 12 -- 4g ram -- 8Gb OS disk -- 16Gb data disk +### Minion01 - proxmox vm -``` bash -# execute on server to get token -cat /var/lib/rancher/k3s/server/node-token +*hosted on gaia.* + +```yaml +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 ``` -**Setup worker node:** +| Name | Value | +| --- | --- | +| **NAME** | minion01 | +| **VLAN** | casa | +| **IP** | 192.168.14.10 | +| **OS** | Debian GNU/Linux 12 (bookworm) | +| **k3s** | v1.34.3+k3s1 (48ffa7b6) | +| **go** | go1.24.11 | + +### Minion01 - k3s -setup ``` bash # install k3s as agent / worker node +# execute on server to get token +# cat /var/lib/rancher/k3s/server/node-token + TOKEN="???" curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="agent --data-dir /dataDisk/k3s --server https://casa.dev.lan:6443 --token ${TOKEN}" sh -s - ``` -**Move default k3s folder:** - -``` bash -apt install rsync -sudo systemctl stop k3s-agent -sudo rsync -a /var/lib/rancher/k3s/ /dataDisk/k3s/ -``` - -Execute install k3s default update script with --data-dir /dataDisk/k3s argument. - Change kubectl -n kube-system edit configmap local-path-config on kube-system to set path to provisioner. ``` yaml @@ -116,10 +159,6 @@ Change kubectl -n kube-system edit configmap local-path-config on kube-system to } ``` -``` bash -rm -rf /var/lib/rancher/k3s -``` - **Set node labels:** ``` bash