728x90
쿠버네티스 워커 노드를 설치하고 클러스터에 참여시키기
kubeadm 초기화
kubeadm reset
kubelet, containerd
sudo systemctl --now disable kubelet
sudo systemctl --now disable containerd
방화벽(UFW) 중지 및 비활성화
sudo systemctl stop ufw && sudo systemctl disable ufw
Swap 비활성화
sudo swapoff -a
sudo sed -i '/\s*swap\s*/ s/^/#/' /etc/fstab
커널 모듈 로드 설정 및 로드
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
커널 파라미터 네트워크 설정 및 적용
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
시스템 리부팅
sudo reboot
NTP(Network Time Protocol) 설치 및 활성화
sudo apt-get install -y ntp
sudo systemctl enable --now ntp
ntpq -p
필수 패키지 설치
sudo apt-get update
sudo apt-get install -y gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release curl
728x90
Containerd 설치
Docker 리포지토리 설정
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key --keyring /etc/apt/trusted.gpg.d/docker.gpg add -
echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
Containerd 설치 및 설정
sudo apt-get update
sudo apt-get install -y containerd.io
sudo systemctl --now enable containerd
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
sudo systemctl restart containerd
쿠버네티스 설치
쿠버네티스 리포지토리 설정
KUBERNETES_VERSION="v1.30"
sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/${KUBERNETES_VERSION}/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:/${KUBERNETES_VERSION}/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
쿠버네티스 설치 및 고정
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo systemctl enable --now kubelet
워커 노드 클러스터 구성
쿠버네티스 클러스터에 워커 노드로 참여합니다.
kubeadm join 192.168.0.130:6443 --token tsn8fn.7igyens2natcr4bh \
--discovery-token-ca-cert-hash sha256:0934c0528df98ced02e3b13fe0b93c8439b7a2f92a3306dc523754ddab485205
control-plane에서 워커 노드가 클러스터에 참여하는지 확인합니다.
- 클러스터 상태 확인
kubectl get nodes
토근 확인 및 재생성
- kubeadm 토큰은 유효 기간이 있기 때문에 만료될 수 있습니다.
- 마스터 노드에서 새로운 토큰을 생성하고 discovery-token-ca-cert-hash를 얻을 수 있습니다.
kubeadm token create --print-join-command
728x90
'리눅스' 카테고리의 다른 글
[draft] 쿠버네티스에 Ingress Controller를 설치하고 이를 통해 외부에서 NGINX 웹 서비스에 접근할 수 있도록 설정하는 방법 (0) | 2024.08.19 |
---|---|
[draft] 쿠버네티스 클러스터에서 Control Plane을 새로운 노드로 교체하는 방법 (0) | 2024.08.16 |
[draft] Cilium CLI를 사용해 Cilium을 설치하는 방법 (0) | 2024.08.14 |
[draft] 쿠버네티스 클러스터에서 Calico 네트워크 플러그인을 설치 (0) | 2024.08.14 |
[draft] 쿠버네티스 클러스터를 구현하는 방법 (0) | 2024.08.14 |