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_path = var.kubeconfig_path
|
||||||
kubeconfig_owner = var.kubeconfig_owner
|
kubeconfig_owner = var.kubeconfig_owner
|
||||||
registry_endpoint = var.registry_endpoint
|
registry_endpoint = var.registry_endpoint
|
||||||
|
node_dns_servers = join(" ", var.node_dns_servers)
|
||||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -41,6 +42,33 @@ install_missing_packages() {
|
||||||
fi
|
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
|
install_missing_packages open-iscsi nfs-common
|
||||||
sudo systemctl enable --now iscsid
|
sudo systemctl enable --now iscsid
|
||||||
sudo systemctl enable kubelet || true
|
sudo systemctl enable kubelet || true
|
||||||
|
|
@ -148,6 +176,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
|
||||||
|
node_dns_servers = join(" ", var.node_dns_servers)
|
||||||
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
persistent_volume_dirs = join(",", var.persistent_volume_dirs)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -176,6 +205,33 @@ install_missing_packages() {
|
||||||
fi
|
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
|
install_missing_packages open-iscsi nfs-common
|
||||||
sudo systemctl enable --now iscsid
|
sudo systemctl enable --now iscsid
|
||||||
sudo systemctl enable kubelet || true
|
sudo systemctl enable kubelet || true
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,14 @@ variable "registry_endpoint" {
|
||||||
default = "192.168.100.68:30500"
|
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" {
|
variable "persistent_volume_dirs" {
|
||||||
type = list(string)
|
type = list(string)
|
||||||
default = [
|
default = [
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,10 @@ resource "helm_release" "calico" {
|
||||||
values = [
|
values = [
|
||||||
yamlencode({
|
yamlencode({
|
||||||
manageCRDs = false
|
manageCRDs = false
|
||||||
|
nodeSelector = {
|
||||||
|
"kubernetes.io/os" = "linux"
|
||||||
|
"kubernetes.io/hostname" = var.calico_operator_node_name
|
||||||
|
}
|
||||||
apiServer = {
|
apiServer = {
|
||||||
enabled = false
|
enabled = false
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,11 @@ variable "pod_network_cidr" {
|
||||||
default = "10.244.0.0/16"
|
default = "10.244.0.0/16"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "calico_operator_node_name" {
|
||||||
|
type = string
|
||||||
|
default = "debian"
|
||||||
|
}
|
||||||
|
|
||||||
variable "gitops_repo_url" {
|
variable "gitops_repo_url" {
|
||||||
type = string
|
type = string
|
||||||
default = "ssh://jv@192.168.100.68/home/jv/git-server/my-homelab-configs.git"
|
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
|
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() {
|
cleanup_mounts() {
|
||||||
if command -v findmnt >/dev/null 2>&1; then
|
if command -v findmnt >/dev/null 2>&1; then
|
||||||
while IFS= read -r mountpoint; do
|
while IFS= read -r mountpoint; do
|
||||||
|
|
@ -76,6 +85,7 @@ cleanup_node() {
|
||||||
|
|
||||||
cleanup_iptables
|
cleanup_iptables
|
||||||
cleanup_calico_links
|
cleanup_calico_links
|
||||||
|
restore_node_dns
|
||||||
|
|
||||||
sudo mkdir -p /etc/containerd/certs.d
|
sudo mkdir -p /etc/containerd/certs.d
|
||||||
sudo systemctl reset-failed kubelet containerd 2>/dev/null || true
|
sudo systemctl reset-failed kubelet containerd 2>/dev/null || true
|
||||||
|
|
@ -190,6 +200,15 @@ cleanup_iptables() {
|
||||||
fi
|
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() {
|
cleanup_mounts() {
|
||||||
if command -v findmnt >/dev/null 2>&1; then
|
if command -v findmnt >/dev/null 2>&1; then
|
||||||
while IFS= read -r mountpoint; do
|
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_iptables
|
||||||
cleanup_calico_links
|
cleanup_calico_links
|
||||||
|
restore_node_dns
|
||||||
|
|
||||||
sudo mkdir -p /etc/containerd/certs.d
|
sudo mkdir -p /etc/containerd/certs.d
|
||||||
sudo systemctl reset-failed kubelet containerd 2>/dev/null || true
|
sudo systemctl reset-failed kubelet containerd 2>/dev/null || true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue