disabling swap in raspberrypi
This commit is contained in:
parent
8c96d4ce10
commit
cac1e8782b
|
|
@ -29,9 +29,39 @@ resource "null_resource" "kubeadm_control_plane" {
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y open-iscsi nfs-common
|
sudo apt-get install -y curl open-iscsi nfs-common
|
||||||
sudo systemctl enable --now iscsid
|
sudo systemctl enable --now iscsid
|
||||||
sudo systemctl enable --now kubelet || true
|
sudo systemctl enable kubelet || true
|
||||||
|
|
||||||
|
sudo swapoff -a || true
|
||||||
|
sudo awk '
|
||||||
|
/^[[:space:]]*#/ { print; next }
|
||||||
|
$3 == "swap" { print "# kubeadm-disabled " $0; next }
|
||||||
|
{ print }
|
||||||
|
' /etc/fstab | sudo tee /etc/fstab.kubeadm >/dev/null
|
||||||
|
sudo mv /etc/fstab.kubeadm /etc/fstab
|
||||||
|
|
||||||
|
sudo tee /etc/modules-load.d/k8s.conf >/dev/null <<'MODULES_EOT'
|
||||||
|
overlay
|
||||||
|
br_netfilter
|
||||||
|
MODULES_EOT
|
||||||
|
sudo modprobe overlay || true
|
||||||
|
sudo modprobe br_netfilter || true
|
||||||
|
|
||||||
|
sudo tee /etc/sysctl.d/99-kubernetes-cri.conf >/dev/null <<'SYSCTL_EOT'
|
||||||
|
net.bridge.bridge-nf-call-iptables = 1
|
||||||
|
net.bridge.bridge-nf-call-ip6tables = 1
|
||||||
|
net.ipv4.ip_forward = 1
|
||||||
|
SYSCTL_EOT
|
||||||
|
sudo sysctl -w net.ipv4.ip_forward=1 >/dev/null
|
||||||
|
if [ -e /proc/sys/net/bridge/bridge-nf-call-iptables ]; then
|
||||||
|
sudo sysctl -w net.bridge.bridge-nf-call-iptables=1 >/dev/null
|
||||||
|
sudo sysctl -w net.bridge.bridge-nf-call-ip6tables=1 >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! getent hosts "${self.triggers.node_name}" >/dev/null; then
|
||||||
|
printf '%s %s\n' "${self.triggers.advertise_address}" "${self.triggers.node_name}" | sudo tee -a /etc/hosts >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
sudo mkdir -p /etc/containerd
|
sudo mkdir -p /etc/containerd
|
||||||
if [ ! -f /etc/containerd/config.toml ]; then
|
if [ ! -f /etc/containerd/config.toml ]; then
|
||||||
|
|
@ -55,11 +85,22 @@ for path in "$${pv_dirs[@]}"; do
|
||||||
sudo chmod 0775 "$path"
|
sudo chmod 0775 "$path"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ ! -f /etc/kubernetes/admin.conf ] && [ -d /etc/kubernetes ]; then
|
||||||
|
sudo kubeadm reset --force || true
|
||||||
|
sudo systemctl stop kubelet 2>/dev/null || true
|
||||||
|
sudo rm -rf /etc/kubernetes/ /var/lib/etcd/ /var/lib/kubelet/ /var/lib/cni/ /etc/cni/net.d
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -f /etc/kubernetes/admin.conf ]; then
|
if [ ! -f /etc/kubernetes/admin.conf ]; then
|
||||||
sudo kubeadm init \
|
sudo systemctl stop kubelet 2>/dev/null || true
|
||||||
|
if ! sudo kubeadm init \
|
||||||
--pod-network-cidr=${self.triggers.pod_network_cidr} \
|
--pod-network-cidr=${self.triggers.pod_network_cidr} \
|
||||||
--node-name=${self.triggers.node_name} \
|
--node-name=${self.triggers.node_name} \
|
||||||
--apiserver-advertise-address=${self.triggers.advertise_address}
|
--apiserver-advertise-address=${self.triggers.advertise_address}; then
|
||||||
|
sudo systemctl status kubelet --no-pager -l || true
|
||||||
|
sudo journalctl -u kubelet --no-pager -n 160 || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "$(dirname "${self.triggers.kubeconfig_path}")"
|
mkdir -p "$(dirname "${self.triggers.kubeconfig_path}")"
|
||||||
|
|
@ -111,9 +152,39 @@ resource "null_resource" "kubeadm_worker" {
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y open-iscsi nfs-common
|
sudo apt-get install -y curl open-iscsi nfs-common
|
||||||
sudo systemctl enable --now iscsid
|
sudo systemctl enable --now iscsid
|
||||||
sudo systemctl enable --now kubelet || true
|
sudo systemctl enable kubelet || true
|
||||||
|
|
||||||
|
sudo swapoff -a || true
|
||||||
|
sudo awk '
|
||||||
|
/^[[:space:]]*#/ { print; next }
|
||||||
|
$3 == "swap" { print "# kubeadm-disabled " $0; next }
|
||||||
|
{ print }
|
||||||
|
' /etc/fstab | sudo tee /etc/fstab.kubeadm >/dev/null
|
||||||
|
sudo mv /etc/fstab.kubeadm /etc/fstab
|
||||||
|
|
||||||
|
sudo tee /etc/modules-load.d/k8s.conf >/dev/null <<'MODULES_EOT'
|
||||||
|
overlay
|
||||||
|
br_netfilter
|
||||||
|
MODULES_EOT
|
||||||
|
sudo modprobe overlay || true
|
||||||
|
sudo modprobe br_netfilter || true
|
||||||
|
|
||||||
|
sudo tee /etc/sysctl.d/99-kubernetes-cri.conf >/dev/null <<'SYSCTL_EOT'
|
||||||
|
net.bridge.bridge-nf-call-iptables = 1
|
||||||
|
net.bridge.bridge-nf-call-ip6tables = 1
|
||||||
|
net.ipv4.ip_forward = 1
|
||||||
|
SYSCTL_EOT
|
||||||
|
sudo sysctl -w net.ipv4.ip_forward=1 >/dev/null
|
||||||
|
if [ -e /proc/sys/net/bridge/bridge-nf-call-iptables ]; then
|
||||||
|
sudo sysctl -w net.bridge.bridge-nf-call-iptables=1 >/dev/null
|
||||||
|
sudo sysctl -w net.bridge.bridge-nf-call-ip6tables=1 >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! getent hosts "${self.triggers.node_name}" >/dev/null; then
|
||||||
|
printf '%s %s\n' "${self.triggers.host}" "${self.triggers.node_name}" | sudo tee -a /etc/hosts >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
sudo mkdir -p /etc/containerd
|
sudo mkdir -p /etc/containerd
|
||||||
if [ ! -f /etc/containerd/config.toml ]; then
|
if [ ! -f /etc/containerd/config.toml ]; then
|
||||||
|
|
@ -138,8 +209,25 @@ for path in $pv_dirs; do
|
||||||
sudo chmod 0775 "$path"
|
sudo chmod 0775 "$path"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ -f /etc/kubernetes/kubelet.conf ] && ! curl -fsS --max-time 5 http://127.0.0.1:10248/healthz >/dev/null 2>&1; then
|
||||||
|
sudo kubeadm reset --force || true
|
||||||
|
sudo systemctl stop kubelet 2>/dev/null || true
|
||||||
|
sudo rm -rf /etc/kubernetes/ /var/lib/kubelet/ /var/lib/cni/ /etc/cni/net.d
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f /etc/kubernetes/kubelet.conf ] && [ -e /var/lib/kubelet/kubeadm-flags.env ]; then
|
||||||
|
sudo kubeadm reset --force || true
|
||||||
|
sudo systemctl stop kubelet 2>/dev/null || true
|
||||||
|
sudo rm -rf /etc/kubernetes/ /var/lib/kubelet/ /var/lib/cni/ /etc/cni/net.d
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -f /etc/kubernetes/kubelet.conf ]; then
|
if [ ! -f /etc/kubernetes/kubelet.conf ]; then
|
||||||
sudo ${data.external.kubeadm_join_command.result.cmd} --node-name=${self.triggers.node_name}
|
sudo systemctl stop kubelet 2>/dev/null || true
|
||||||
|
if ! sudo ${data.external.kubeadm_join_command.result.cmd} --node-name=${self.triggers.node_name}; then
|
||||||
|
sudo systemctl status kubelet --no-pager -l || true
|
||||||
|
sudo journalctl -u kubelet --no-pager -n 160 || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
EOT
|
EOT
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue