feat: Do not rely on k0s file uploads - instead use curl (#1229)
* feat: Do not rely on k0s file uploads - instead use curl Signed-off-by: Devin Buhl <devin@buhl.casa> * fix: add bootstrap_advanced_flags to validation Signed-off-by: Devin Buhl <devin@buhl.casa> * fix: only skip tests for non-static config Signed-off-by: Devin Buhl <devin@buhl.casa> * fix: only skip tests for non-static config Signed-off-by: Devin Buhl <devin@buhl.casa> * fix: issues in k0s scripts Signed-off-by: Devin Buhl <devin@buhl.casa> * update: readme Signed-off-by: Devin Buhl <devin@buhl.casa> * update: taskfile Signed-off-by: Devin Buhl <devin@buhl.casa> * update: taskfile Signed-off-by: Devin Buhl <devin@buhl.casa> * update: k0s config and remove ansible hook Signed-off-by: Devin Buhl <devin@buhl.casa> --------- Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
1 parent
5ef0438529
commit
d9c7fd44ba
17 files changed
+121
-110
No files matched your search
@@ -14,37 +14,15 @@ spec:
|
||||
installFlags:
|
||||
- --disable-components=metrics-server
|
||||
- --no-taints
|
||||
#% if loop.first %#
|
||||
files: &files
|
||||
- name: system-config
|
||||
src: resources/hooks/
|
||||
dstDir: /home/#{ item.username }#/k0s/hooks/
|
||||
perm: 0644
|
||||
user: root
|
||||
group: root
|
||||
- name: containerd-config
|
||||
src: resources/containerd/
|
||||
dstDir: /home/#{ item.username }#/k0s/containerd/
|
||||
perm: 0644
|
||||
user: root
|
||||
group: root
|
||||
#% else %#
|
||||
files: *files
|
||||
#% endif %#
|
||||
#% if loop.first %#
|
||||
hooks: &hooks
|
||||
hooks:
|
||||
apply:
|
||||
before:
|
||||
- sudo bash /home/#{ item.username }#/k0s/hooks/apply-system.sh
|
||||
- sudo mv /home/#{ item.username }#/k0s/containerd/default.toml /etc/k0s/containerd.d/default.toml
|
||||
- curl -sfL https://raw.githubusercontent.com/#{ bootstrap_github_username }#/#{ bootstrap_github_repository_name }#/#{ bootstrap_advanced_flags.github_repository_branch|default('main', true) }#/kubernetes/k0s/resources/apply-system.sh | INSTALL_K0S_HOSTNAME="#{ item.name }#" bash -s -
|
||||
reset:
|
||||
before:
|
||||
- sudo bash /home/#{ item.username }#/k0s/hooks/reset-cilium.sh
|
||||
- curl -sfL https://raw.githubusercontent.com/#{ bootstrap_github_username }#/#{ bootstrap_github_repository_name }#/#{ bootstrap_advanced_flags.github_repository_branch|default('main', true) }#/kubernetes/k0s/resources/reset-cilium.sh | bash -s -
|
||||
after:
|
||||
- sudo bash /home/#{ item.username }#/k0s/hooks/reset-system.sh
|
||||
#% else %#
|
||||
hooks: *hooks
|
||||
#% endif %#
|
||||
- curl -sfL https://raw.githubusercontent.com/#{ bootstrap_github_username }#/#{ bootstrap_github_repository_name }#/#{ bootstrap_advanced_flags.github_repository_branch|default('main', true) }#/kubernetes/k0s/resources/reset-system.sh | bash -s -
|
||||
#% endfor %#
|
||||
#% if bootstrap_nodes.worker | length > 0 %#
|
||||
#% for item in bootstrap_nodes.worker %#
|
||||
@@ -52,8 +30,15 @@ spec:
|
||||
ssh:
|
||||
address: "#{ item.address }#"
|
||||
user: "#{ item.username }#"
|
||||
files: *files
|
||||
hooks: *hooks
|
||||
hooks:
|
||||
apply:
|
||||
before:
|
||||
- curl -sfL https://raw.githubusercontent.com/#{ bootstrap_github_username }#/#{ bootstrap_github_repository_name }#/#{ bootstrap_advanced_flags.github_repository_branch|default('main', true) }#/kubernetes/k0s/resources/apply-system.sh | INSTALL_K0S_HOSTNAME="#{ item.name }#" bash -s -
|
||||
reset:
|
||||
before:
|
||||
- curl -sfL https://raw.githubusercontent.com/#{ bootstrap_github_username }#/#{ bootstrap_github_repository_name }#/#{ bootstrap_advanced_flags.github_repository_branch|default('main', true) }#/kubernetes/k0s/resources/reset-cilium.sh | bash -s -
|
||||
after:
|
||||
- curl -sfL https://raw.githubusercontent.com/#{ bootstrap_github_username }#/#{ bootstrap_github_repository_name }#/#{ bootstrap_advanced_flags.github_repository_branch|default('main', true) }#/kubernetes/k0s/resources/reset-system.sh | bash -s -
|
||||
#% endfor %#
|
||||
#% endif %#
|
||||
k0s:
|
||||
|
||||
+30
-5
@@ -1,11 +1,25 @@
|
||||
#% if bootstrap_distribution == 'k0s' %#
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -o noglob
|
||||
|
||||
[ $(id -u) -eq 0 ] || exec sudo $0 $@
|
||||
|
||||
# Prepare
|
||||
sudo apt-get update -y
|
||||
|
||||
# Hostname
|
||||
if [ -n "${INSTALL_K0S_HOSTNAME}" ] && [ "$(hostnamectl hostname)" != "${INSTALL_K0S_HOSTNAME}" ]; then
|
||||
hostnamectl set-hostname "${INSTALL_K0S_HOSTNAME}"
|
||||
tee /etc/hosts > /dev/null <<EOF
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 $INSTALL_K0S_HOSTNAME
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Timezone
|
||||
timedatectl set-timezone "#{ bootstrap_timezone }#"
|
||||
|
||||
@@ -16,7 +30,7 @@ apt-get install -y --no-install-recommends \
|
||||
nvme-cli open-iscsi parted psmisc python3 python3-apt python3-kubernetes python3-yaml \
|
||||
smartmontools socat software-properties-common unzip util-linux
|
||||
|
||||
#% if bootstrap_advanced_flags.update_resolv_conf %#
|
||||
#% if bootstrap_advanced_flags.update_resolv_conf|default(true) %#
|
||||
# Update DNS
|
||||
chattr -i /etc/resolv.conf
|
||||
rm -f /etc/resolv.conf
|
||||
@@ -37,9 +51,9 @@ systemctl restart systemd-modules-load.service
|
||||
|
||||
# Sysctls
|
||||
cat <<EOF > /etc/sysctl.d/99-kubernetes.conf
|
||||
fs.inotify.max_queued_events: 65536
|
||||
fs.inotify.max_user_watches: 524288
|
||||
fs.inotify.max_user_instances: 8192
|
||||
fs.inotify.max_queued_events = 65536
|
||||
fs.inotify.max_user_watches = 524288
|
||||
fs.inotify.max_user_instances = 8192
|
||||
EOF
|
||||
sysctl -p /etc/sysctl.d/99-kubernetes.conf
|
||||
|
||||
@@ -57,6 +71,17 @@ neofetch --config none
|
||||
EOF
|
||||
chmod 755 /etc/profile.d/neofetch.sh
|
||||
|
||||
# Ensure k0s containerd directory exists
|
||||
# Create containerd config
|
||||
mkdir -p /etc/k0s/containerd.d
|
||||
cat <<EOF > /etc/k0s/containerd.d/default.toml
|
||||
[plugins."io.containerd.grpc.v1.cri"]
|
||||
enable_unprivileged_ports = true
|
||||
enable_unprivileged_icmp = true
|
||||
[plugins."io.containerd.grpc.v1.cri".registry]
|
||||
config_path = "/var/lib/k0s/containerd/certs.d"
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd]
|
||||
discard_unpacked_layers = false
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
|
||||
discard_unpacked_layers = false
|
||||
EOF
|
||||
#% endif %#
|
||||
@@ -1,11 +0,0 @@
|
||||
#% if bootstrap_distribution == 'k0s' %#
|
||||
[plugins."io.containerd.grpc.v1.cri"]
|
||||
enable_unprivileged_ports = true
|
||||
enable_unprivileged_icmp = true
|
||||
[plugins."io.containerd.grpc.v1.cri".registry]
|
||||
config_path = "/var/lib/k0s/containerd/certs.d"
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd]
|
||||
discard_unpacked_layers = false
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
|
||||
discard_unpacked_layers = false
|
||||
#% endif %#
|
||||
+2
@@ -1,5 +1,7 @@
|
||||
#% if bootstrap_distribution == 'k0s' %#
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -o noglob
|
||||
|
||||
[ $(id -u) -eq 0 ] || exec sudo $0 $@
|
||||
|
||||
+5
@@ -1,8 +1,13 @@
|
||||
#% if bootstrap_distribution == 'k0s' %#
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -o noglob
|
||||
|
||||
[ $(id -u) -eq 0 ] || exec sudo $0 $@
|
||||
|
||||
# Remove containerd config
|
||||
rm -rf /etc/k0s/containerd.d
|
||||
|
||||
# Remove local storage data
|
||||
rm -rf "#{ bootstrap_advanced_flags.local_storage_path|default('/var/openebs/local', true) }#"
|
||||
|
||||
Reference in new issue
Block a user