이 글에서는 Ubuntu Server 3대를 활용하여 Kubernetes 클러스터를 구축하는 방법을 설명합니다.
192.168.0.101192.168.0.102192.168.0.103Kubernetes 클러스터를 구성하기 위해 필요한 사전 준비부터 클러스터 초기화, 네트워크 설정, 워커 노드 추가까지 차례대로 설명합니다.
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
sudo cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
br_netfilter 모듈을 로드하여 Kubernetes 네트워크 브리징을 활성화.sysctl 설정을 적용하여 네트워크 트래픽이 올바르게 처리되도록 함.sudo apt install -y containerd
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
sudo systemctl restart containerd
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/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.30/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl 명령어를 사용할 수 있도록 환경 설정.kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
NotReady 상태로 유지됨.마스터 노드에서 kubeadm init을 실행하면 다음과 같은 join 명령어가 출력됨.
kubeadm join 192.168.0.101:6443 --token <TOKEN> \
--discovery-token-ca-cert-hash sha256:<HASH>
이 명령어를 각 워커 노드(192.168.0.102, 192.168.0.103)에서 실행하여 클러스터에 추가.
kubectl get nodes
정상적으로 설치되었다면 모든 노드가 Ready 상태여야 함.

