#!/bin/bash
set -e
echo "===== [WORKER STEP 2] containerd + kubeadm ====="
sudo apt update -y
sudo apt upgrade -y
# swap 비활성화
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
# sysctl
sudo tee /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
# containerd
sudo apt install -y containerd
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd
# k8s repo
sudo apt install -y apt-transport-https ca-certificates curl gpg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.34/deb/Release.key \
| sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.34/deb/ /' \
| sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update -y
sudo apt install -y kubelet kubeadm
sudo apt-mark hold kubelet kubeadm
sudo systemctl enable --now kubelet
echo "=============================================="
echo "✅ 워커 노드 준비 완료"
echo "👉 control-plane에서 kubeadm join 실행"
echo "=============================================="
-설치가 완료되면 아래의 명령어를 입력
->
:
kubeadm join <apiserver주소>6443 --token <토큰명>\
--discovery-token-ca-cert-hash <해시값>
-> 문제가 생겼다면
: --v=5 를 마지막에 입력하여 디버깅
-연결 상태 디버깅
->
: nc -zv 10.0.6.10 6443
-worker노드에 문제 있을시
sudo kubeadm reset -f
sudo rm -rf /etc/kubernetes
sudo rm -rf ~/.kube
sudo rm -rf /var/lib/cni
sudo rm -rf /etc/cni/net.d
sudo systemctl restart containerd kubelet