| Giorgi Lekveishvili | a4552a3 | 2023-07-20 10:18:07 +0400 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | USER=root |
| 4 | |
| Giorgi Lekveishvili | f680557 | 2023-11-22 13:52:19 +0400 | [diff] [blame] | 5 | K3S_VERSION="v1.28.3+k3s2" |
| Giorgi Lekveishvili | a4552a3 | 2023-07-20 10:18:07 +0400 | [diff] [blame] | 6 | |
| 7 | MASTER_INIT="192.168.100.1" |
| Giorgi Lekveishvili | dc76b40 | 2024-03-13 13:30:28 +0400 | [diff] [blame] | 8 | MASTERS=("192.168.100.2") |
| Giorgi Lekveishvili | a4552a3 | 2023-07-20 10:18:07 +0400 | [diff] [blame] | 9 | WORKERS=() |
| 10 | |
| Giorgi Lekveishvili | dc76b40 | 2024-03-13 13:30:28 +0400 | [diff] [blame] | 11 | # --node-taint dodo=dodo:NoSchedule |
| Giorgi Lekveishvili | a4552a3 | 2023-07-20 10:18:07 +0400 | [diff] [blame] | 12 | k3sup install \ |
| 13 | --ssh-key ~/.ssh/id_ed25519 \ |
| 14 | --k3s-channel stable \ |
| 15 | --cluster \ |
| 16 | --user $USER \ |
| 17 | --ip $MASTER_INIT \ |
| 18 | --k3s-version $K3S_VERSION \ |
| 19 | --k3s-extra-args "--disable traefik --disable local-storage --disable servicelb --kube-proxy-arg proxy-mode=ipvs --kube-proxy-arg ipvs-strict-arp --flannel-backend wireguard-native" |
| 20 | |
| 21 | for IP in "${MASTERS[@]}"; |
| 22 | do |
| 23 | k3sup join \ |
| 24 | --ssh-key ~/.ssh/id_ed25519 \ |
| 25 | --k3s-channel stable \ |
| 26 | --server \ |
| 27 | --user $USER \ |
| 28 | --ip $IP \ |
| 29 | --server-user $USER \ |
| 30 | --server-ip $MASTER_INIT \ |
| 31 | --k3s-version $K3S_VERSION \ |
| 32 | --k3s-extra-args "--disable traefik --disable local-storage --disable servicelb --kube-proxy-arg proxy-mode=ipvs --kube-proxy-arg ipvs-strict-arp --flannel-backend wireguard-native" |
| 33 | done |
| 34 | |
| Giorgi Lekveishvili | a4552a3 | 2023-07-20 10:18:07 +0400 | [diff] [blame] | 35 | for IP in "${WORKERS[@]}"; |
| 36 | do |
| 37 | k3sup join \ |
| 38 | --ssh-key ~/.ssh/id_ed25519 \ |
| 39 | --k3s-channel stable \ |
| 40 | --ip $IP \ |
| 41 | --user $USER \ |
| 42 | --server-user $USER \ |
| 43 | --server-ip $MASTER_INIT \ |
| 44 | --k3s-version $K3S_VERSION |
| 45 | done |
| gio | a190594 | 2024-07-19 12:18:30 +0400 | [diff] [blame] | 46 | |
| 47 | |
| 48 | # # Install runsc |
| 49 | # sudo apt-get update && \ |
| 50 | # sudo apt-get install -y \ |
| 51 | # apt-transport-https \ |
| 52 | # ca-certificates \ |
| 53 | # curl \ |
| 54 | # gnupg |
| 55 | |
| 56 | # curl -fsSL https://gvisor.dev/archive.key | sudo gpg --dearmor -o /usr/share/keyrings/gvisor-archive-keyring.gpg |
| 57 | # echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/gvisor-archive-keyring.gpg] https://storage.googleapis.com/gvisor/releases release main" | sudo tee /etc/apt/sources.list.d/gvisor.list > /dev/null |
| 58 | |
| 59 | # sudo apt-get update && sudo apt-get install -y runsc |
| 60 | |
| 61 | # # Install containerd |
| 62 | # # Add Docker's official GPG key: |
| 63 | # sudo apt-get update |
| 64 | # sudo apt-get install ca-certificates curl |
| 65 | # sudo install -m 0755 -d /etc/apt/keyrings |
| 66 | # sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc |
| 67 | # sudo chmod a+r /etc/apt/keyrings/docker.asc |
| 68 | |
| 69 | # # Add the repository to Apt sources: |
| 70 | # echo \ |
| 71 | # "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ |
| 72 | # $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ |
| 73 | # sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
| 74 | # sudo apt-get update |
| 75 | |
| 76 | # sudo apt-get install containerd.io |
| 77 | |
| 78 | # # Configure k3s to use runsc |
| 79 | # copy into /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl |
| 80 | |
| 81 | # [plugins.cri.containerd.runtimes.runsc] |
| 82 | # runtime_type = "io.containerd.runsc.v1" |
| 83 | |
| 84 | # systemctl restart k3s |
| 85 | |
| 86 | # cat<<EOF | kubectl apply -f - |
| 87 | # apiVersion: node.k8s.io/v1beta1 |
| 88 | # kind: RuntimeClass |
| 89 | # metadata: |
| 90 | # name: gvisor |
| 91 | # handler: runsc |
| 92 | # EOF |