fixing dns issue in rpi
This commit is contained in:
parent
66d7dd39a7
commit
cf45edce74
|
|
@ -20,6 +20,7 @@ resource "null_resource" "kubeadm_control_plane" {
|
|||
kubeconfig_path = var.kubeconfig_path
|
||||
kubeconfig_owner = var.kubeconfig_owner
|
||||
registry_endpoint = var.registry_endpoint
|
||||
node_dns_servers = join(" ", var.node_dns_servers)
|
||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||
}
|
||||
|
||||
|
|
@ -41,6 +42,33 @@ install_missing_packages() {
|
|||
fi
|
||||
}
|
||||
|
||||
configure_node_dns() {
|
||||
dns_servers="${self.triggers.node_dns_servers}"
|
||||
if [ -z "$dns_servers" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if systemctl list-unit-files systemd-resolved.service >/dev/null 2>&1; then
|
||||
sudo mkdir -p /etc/systemd/resolved.conf.d
|
||||
{
|
||||
echo "[Resolve]"
|
||||
printf 'DNS=%s\n' "$dns_servers"
|
||||
printf 'FallbackDNS=%s\n' "$dns_servers"
|
||||
echo "DNSSEC=no"
|
||||
} | sudo tee /etc/systemd/resolved.conf.d/homelab-k8s.conf >/dev/null
|
||||
sudo systemctl restart systemd-resolved 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if ! getent hosts quay.io >/dev/null 2>&1; then
|
||||
sudo cp -a /etc/resolv.conf /etc/resolv.conf.homelab-k8s-backup 2>/dev/null || true
|
||||
sudo rm -f /etc/resolv.conf
|
||||
for server in $dns_servers; do
|
||||
printf 'nameserver %s\n' "$server"
|
||||
done | sudo tee /etc/resolv.conf >/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
configure_node_dns
|
||||
install_missing_packages open-iscsi nfs-common
|
||||
sudo systemctl enable --now iscsid
|
||||
sudo systemctl enable kubelet || true
|
||||
|
|
@ -148,6 +176,7 @@ resource "null_resource" "kubeadm_worker" {
|
|||
user = each.value.user
|
||||
ssh_key_path = each.value.ssh_key_path
|
||||
registry_endpoint = var.registry_endpoint
|
||||
node_dns_servers = join(" ", var.node_dns_servers)
|
||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||
}
|
||||
|
||||
|
|
@ -176,6 +205,33 @@ install_missing_packages() {
|
|||
fi
|
||||
}
|
||||
|
||||
configure_node_dns() {
|
||||
dns_servers="${self.triggers.node_dns_servers}"
|
||||
if [ -z "$dns_servers" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if systemctl list-unit-files systemd-resolved.service >/dev/null 2>&1; then
|
||||
sudo mkdir -p /etc/systemd/resolved.conf.d
|
||||
{
|
||||
echo "[Resolve]"
|
||||
printf 'DNS=%s\n' "$dns_servers"
|
||||
printf 'FallbackDNS=%s\n' "$dns_servers"
|
||||
echo "DNSSEC=no"
|
||||
} | sudo tee /etc/systemd/resolved.conf.d/homelab-k8s.conf >/dev/null
|
||||
sudo systemctl restart systemd-resolved 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if ! getent hosts quay.io >/dev/null 2>&1; then
|
||||
sudo cp -a /etc/resolv.conf /etc/resolv.conf.homelab-k8s-backup 2>/dev/null || true
|
||||
sudo rm -f /etc/resolv.conf
|
||||
for server in $dns_servers; do
|
||||
printf 'nameserver %s\n' "$server"
|
||||
done | sudo tee /etc/resolv.conf >/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
configure_node_dns
|
||||
install_missing_packages open-iscsi nfs-common
|
||||
sudo systemctl enable --now iscsid
|
||||
sudo systemctl enable kubelet || true
|
||||
|
|
|
|||
|
|
@ -28,6 +28,14 @@ variable "registry_endpoint" {
|
|||
default = "192.168.100.68:30500"
|
||||
}
|
||||
|
||||
variable "node_dns_servers" {
|
||||
type = list(string)
|
||||
default = [
|
||||
"1.1.1.1",
|
||||
"8.8.8.8",
|
||||
]
|
||||
}
|
||||
|
||||
variable "persistent_volume_dirs" {
|
||||
type = list(string)
|
||||
default = [
|
||||
|
|
|
|||
|
|
@ -79,6 +79,10 @@ resource "helm_release" "calico" {
|
|||
values = [
|
||||
yamlencode({
|
||||
manageCRDs = false
|
||||
nodeSelector = {
|
||||
"kubernetes.io/os" = "linux"
|
||||
"kubernetes.io/hostname" = var.calico_operator_node_name
|
||||
}
|
||||
apiServer = {
|
||||
enabled = false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,11 @@ variable "pod_network_cidr" {
|
|||
default = "10.244.0.0/16"
|
||||
}
|
||||
|
||||
variable "calico_operator_node_name" {
|
||||
type = string
|
||||
default = "debian"
|
||||
}
|
||||
|
||||
variable "gitops_repo_url" {
|
||||
type = string
|
||||
default = "ssh://jv@192.168.100.68/home/jv/git-server/my-homelab-configs.git"
|
||||
|
|
|
|||
20
lab.sh
20
lab.sh
|
|
@ -37,6 +37,15 @@ cleanup_iptables() {
|
|||
fi
|
||||
}
|
||||
|
||||
restore_node_dns() {
|
||||
sudo rm -f /etc/systemd/resolved.conf.d/homelab-k8s.conf
|
||||
if sudo test -e /etc/resolv.conf.homelab-k8s-backup; then
|
||||
sudo rm -f /etc/resolv.conf
|
||||
sudo mv /etc/resolv.conf.homelab-k8s-backup /etc/resolv.conf
|
||||
fi
|
||||
sudo systemctl restart systemd-resolved 2>/dev/null || true
|
||||
}
|
||||
|
||||
cleanup_mounts() {
|
||||
if command -v findmnt >/dev/null 2>&1; then
|
||||
while IFS= read -r mountpoint; do
|
||||
|
|
@ -76,6 +85,7 @@ cleanup_node() {
|
|||
|
||||
cleanup_iptables
|
||||
cleanup_calico_links
|
||||
restore_node_dns
|
||||
|
||||
sudo mkdir -p /etc/containerd/certs.d
|
||||
sudo systemctl reset-failed kubelet containerd 2>/dev/null || true
|
||||
|
|
@ -190,6 +200,15 @@ cleanup_iptables() {
|
|||
fi
|
||||
}
|
||||
|
||||
restore_node_dns() {
|
||||
sudo rm -f /etc/systemd/resolved.conf.d/homelab-k8s.conf
|
||||
if sudo test -e /etc/resolv.conf.homelab-k8s-backup; then
|
||||
sudo rm -f /etc/resolv.conf
|
||||
sudo mv /etc/resolv.conf.homelab-k8s-backup /etc/resolv.conf
|
||||
fi
|
||||
sudo systemctl restart systemd-resolved 2>/dev/null || true
|
||||
}
|
||||
|
||||
cleanup_mounts() {
|
||||
if command -v findmnt >/dev/null 2>&1; then
|
||||
while IFS= read -r mountpoint; do
|
||||
|
|
@ -228,6 +247,7 @@ sudo rm -f /opt/cni/bin/calico /opt/cni/bin/calico-ipam
|
|||
|
||||
cleanup_iptables
|
||||
cleanup_calico_links
|
||||
restore_node_dns
|
||||
|
||||
sudo mkdir -p /etc/containerd/certs.d
|
||||
sudo systemctl reset-failed kubelet containerd 2>/dev/null || true
|
||||
|
|
|
|||
Loading…
Reference in New Issue