Fix worker CNI plugin path
Homelab Main / deploy (push) Successful in 1m26s
Details
Homelab Main / deploy (push) Successful in 1m26s
Details
This commit is contained in:
parent
89fa756305
commit
2740409469
|
|
@ -20,7 +20,7 @@ resource "null_resource" "kubeadm_control_plane" {
|
|||
kubeconfig_path = var.kubeconfig_path
|
||||
kubeconfig_owner = var.kubeconfig_owner
|
||||
registry_endpoint = var.registry_endpoint
|
||||
registry_config_version = "6"
|
||||
registry_config_version = "7"
|
||||
node_dns_servers = join(" ", var.node_dns_servers)
|
||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||
}
|
||||
|
|
@ -167,6 +167,51 @@ reset_containerd_registry_tables() {
|
|||
sudo mv "$tmp" /etc/containerd/config.toml
|
||||
}
|
||||
|
||||
ensure_containerd_cni_bin_dir() {
|
||||
local config_version
|
||||
local tmp
|
||||
|
||||
config_version="$(containerd_config_version)"
|
||||
tmp="$(mktemp)"
|
||||
sudo awk -v config_version="$config_version" '
|
||||
/^[[:space:]]*bin_dir[[:space:]]*=/ {
|
||||
sub(/=.*/, "= \"/opt/cni/bin\"")
|
||||
found = 1
|
||||
}
|
||||
/^[[:space:]]*bin_dirs[[:space:]]*=/ {
|
||||
sub(/=.*/, "= [\"/opt/cni/bin\"]")
|
||||
found = 1
|
||||
}
|
||||
{ print }
|
||||
END {
|
||||
if (!found) {
|
||||
print ""
|
||||
if (config_version == "3") {
|
||||
print "[plugins.\"io.containerd.cri.v1.runtime\".cni]"
|
||||
print " bin_dirs = [\"/opt/cni/bin\"]"
|
||||
} else {
|
||||
print "[plugins.\"io.containerd.grpc.v1.cri\".cni]"
|
||||
print " bin_dir = \"/opt/cni/bin\""
|
||||
}
|
||||
print " conf_dir = \"/etc/cni/net.d\""
|
||||
}
|
||||
}
|
||||
' /etc/containerd/config.toml > "$tmp"
|
||||
sudo mv "$tmp" /etc/containerd/config.toml
|
||||
}
|
||||
|
||||
install_cni_plugins() {
|
||||
local plugin
|
||||
|
||||
sudo mkdir -p /opt/cni/bin
|
||||
if [ -d /usr/lib/cni ]; then
|
||||
for plugin in /usr/lib/cni/*; do
|
||||
[ -f "$plugin" ] || continue
|
||||
sudo ln -sf "$plugin" "/opt/cni/bin/$(basename "$plugin")"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
configure_containerd_registry() {
|
||||
local registry_endpoint="$1"
|
||||
local config_version
|
||||
|
|
@ -175,6 +220,7 @@ configure_containerd_registry() {
|
|||
sudo containerd config default | sudo tee /etc/containerd/config.toml >/dev/null
|
||||
|
||||
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
|
||||
ensure_containerd_cni_bin_dir
|
||||
config_version="$(containerd_config_version)"
|
||||
if [ "$config_version" = "3" ]; then
|
||||
ensure_containerd_registry_config_path "io.containerd.cri.v1.images" '[plugins."io.containerd.cri.v1.images".registry]'
|
||||
|
|
@ -202,7 +248,8 @@ REGISTRY_EOT
|
|||
}
|
||||
|
||||
configure_node_dns
|
||||
install_missing_packages open-iscsi nfs-common
|
||||
install_missing_packages containernetworking-plugins open-iscsi nfs-common
|
||||
install_cni_plugins
|
||||
sudo systemctl enable --now iscsid
|
||||
sudo systemctl enable kubelet || true
|
||||
|
||||
|
|
@ -295,7 +342,7 @@ resource "null_resource" "kubeadm_worker" {
|
|||
user = each.value.user
|
||||
ssh_key_path = each.value.ssh_key_path
|
||||
registry_endpoint = var.registry_endpoint
|
||||
registry_config_version = "6"
|
||||
registry_config_version = "7"
|
||||
node_dns_servers = join(" ", var.node_dns_servers)
|
||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||
tailscale_nodeport_version = "3"
|
||||
|
|
@ -456,6 +503,51 @@ reset_containerd_registry_tables() {
|
|||
sudo mv "$tmp" /etc/containerd/config.toml
|
||||
}
|
||||
|
||||
ensure_containerd_cni_bin_dir() {
|
||||
local config_version
|
||||
local tmp
|
||||
|
||||
config_version="$(containerd_config_version)"
|
||||
tmp="$(mktemp)"
|
||||
sudo awk -v config_version="$config_version" '
|
||||
/^[[:space:]]*bin_dir[[:space:]]*=/ {
|
||||
sub(/=.*/, "= \"/opt/cni/bin\"")
|
||||
found = 1
|
||||
}
|
||||
/^[[:space:]]*bin_dirs[[:space:]]*=/ {
|
||||
sub(/=.*/, "= [\"/opt/cni/bin\"]")
|
||||
found = 1
|
||||
}
|
||||
{ print }
|
||||
END {
|
||||
if (!found) {
|
||||
print ""
|
||||
if (config_version == "3") {
|
||||
print "[plugins.\"io.containerd.cri.v1.runtime\".cni]"
|
||||
print " bin_dirs = [\"/opt/cni/bin\"]"
|
||||
} else {
|
||||
print "[plugins.\"io.containerd.grpc.v1.cri\".cni]"
|
||||
print " bin_dir = \"/opt/cni/bin\""
|
||||
}
|
||||
print " conf_dir = \"/etc/cni/net.d\""
|
||||
}
|
||||
}
|
||||
' /etc/containerd/config.toml > "$tmp"
|
||||
sudo mv "$tmp" /etc/containerd/config.toml
|
||||
}
|
||||
|
||||
install_cni_plugins() {
|
||||
local plugin
|
||||
|
||||
sudo mkdir -p /opt/cni/bin
|
||||
if [ -d /usr/lib/cni ]; then
|
||||
for plugin in /usr/lib/cni/*; do
|
||||
[ -f "$plugin" ] || continue
|
||||
sudo ln -sf "$plugin" "/opt/cni/bin/$(basename "$plugin")"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
configure_containerd_registry() {
|
||||
local registry_endpoint="$1"
|
||||
local config_version
|
||||
|
|
@ -464,6 +556,7 @@ configure_containerd_registry() {
|
|||
sudo containerd config default | sudo tee /etc/containerd/config.toml >/dev/null
|
||||
|
||||
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
|
||||
ensure_containerd_cni_bin_dir
|
||||
config_version="$(containerd_config_version)"
|
||||
if [ "$config_version" = "3" ]; then
|
||||
ensure_containerd_registry_config_path "io.containerd.cri.v1.images" '[plugins."io.containerd.cri.v1.images".registry]'
|
||||
|
|
@ -491,7 +584,8 @@ REGISTRY_EOT
|
|||
}
|
||||
|
||||
configure_node_dns
|
||||
install_missing_packages open-iscsi nfs-common
|
||||
install_missing_packages containernetworking-plugins open-iscsi nfs-common
|
||||
install_cni_plugins
|
||||
sudo systemctl enable --now iscsid
|
||||
sudo systemctl enable kubelet || true
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue