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_path = var.kubeconfig_path
|
||||||
kubeconfig_owner = var.kubeconfig_owner
|
kubeconfig_owner = var.kubeconfig_owner
|
||||||
registry_endpoint = var.registry_endpoint
|
registry_endpoint = var.registry_endpoint
|
||||||
registry_config_version = "6"
|
registry_config_version = "7"
|
||||||
node_dns_servers = join(" ", var.node_dns_servers)
|
node_dns_servers = join(" ", var.node_dns_servers)
|
||||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||||
}
|
}
|
||||||
|
|
@ -167,6 +167,51 @@ reset_containerd_registry_tables() {
|
||||||
sudo mv "$tmp" /etc/containerd/config.toml
|
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() {
|
configure_containerd_registry() {
|
||||||
local registry_endpoint="$1"
|
local registry_endpoint="$1"
|
||||||
local config_version
|
local config_version
|
||||||
|
|
@ -175,6 +220,7 @@ configure_containerd_registry() {
|
||||||
sudo containerd config default | sudo tee /etc/containerd/config.toml >/dev/null
|
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
|
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
|
||||||
|
ensure_containerd_cni_bin_dir
|
||||||
config_version="$(containerd_config_version)"
|
config_version="$(containerd_config_version)"
|
||||||
if [ "$config_version" = "3" ]; then
|
if [ "$config_version" = "3" ]; then
|
||||||
ensure_containerd_registry_config_path "io.containerd.cri.v1.images" '[plugins."io.containerd.cri.v1.images".registry]'
|
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
|
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 --now iscsid
|
||||||
sudo systemctl enable kubelet || true
|
sudo systemctl enable kubelet || true
|
||||||
|
|
||||||
|
|
@ -295,7 +342,7 @@ resource "null_resource" "kubeadm_worker" {
|
||||||
user = each.value.user
|
user = each.value.user
|
||||||
ssh_key_path = each.value.ssh_key_path
|
ssh_key_path = each.value.ssh_key_path
|
||||||
registry_endpoint = var.registry_endpoint
|
registry_endpoint = var.registry_endpoint
|
||||||
registry_config_version = "6"
|
registry_config_version = "7"
|
||||||
node_dns_servers = join(" ", var.node_dns_servers)
|
node_dns_servers = join(" ", var.node_dns_servers)
|
||||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||||
tailscale_nodeport_version = "3"
|
tailscale_nodeport_version = "3"
|
||||||
|
|
@ -456,6 +503,51 @@ reset_containerd_registry_tables() {
|
||||||
sudo mv "$tmp" /etc/containerd/config.toml
|
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() {
|
configure_containerd_registry() {
|
||||||
local registry_endpoint="$1"
|
local registry_endpoint="$1"
|
||||||
local config_version
|
local config_version
|
||||||
|
|
@ -464,6 +556,7 @@ configure_containerd_registry() {
|
||||||
sudo containerd config default | sudo tee /etc/containerd/config.toml >/dev/null
|
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
|
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
|
||||||
|
ensure_containerd_cni_bin_dir
|
||||||
config_version="$(containerd_config_version)"
|
config_version="$(containerd_config_version)"
|
||||||
if [ "$config_version" = "3" ]; then
|
if [ "$config_version" = "3" ]; then
|
||||||
ensure_containerd_registry_config_path "io.containerd.cri.v1.images" '[plugins."io.containerd.cri.v1.images".registry]'
|
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
|
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 --now iscsid
|
||||||
sudo systemctl enable kubelet || true
|
sudo systemctl enable kubelet || true
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue