blob: fb2cc95e678ec9d6b7f0547c098ffa98a927e56d [file] [log] [blame]
Giorgi Lekveishvilia4552a32023-07-20 10:18:07 +04001#!/bin/bash
2
3USER=root
4
Giorgi Lekveishvilif6805572023-11-22 13:52:19 +04005K3S_VERSION="v1.28.3+k3s2"
Giorgi Lekveishvilia4552a32023-07-20 10:18:07 +04006
7MASTER_INIT="192.168.100.1"
Giorgi Lekveishvilidc76b402024-03-13 13:30:28 +04008MASTERS=("192.168.100.2")
Giorgi Lekveishvilia4552a32023-07-20 10:18:07 +04009WORKERS=()
10
Giorgi Lekveishvilidc76b402024-03-13 13:30:28 +040011# --node-taint dodo=dodo:NoSchedule
Giorgi Lekveishvilia4552a32023-07-20 10:18:07 +040012k3sup 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
21for IP in "${MASTERS[@]}";
22do
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"
33done
34
Giorgi Lekveishvilia4552a32023-07-20 10:18:07 +040035for IP in "${WORKERS[@]}";
36do
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
45done
gioa1905942024-07-19 12:18:30 +040046
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