쿠버네티스를 오픈스택과 같은 클라우드 플랫폼 없이 베어메탈 환경에서 구성하는 방법은 다음과 같습니다.


1. 서버 준비

쿠버네티스를 구성할 베어메탈 서버를 준비해야 합니다.

  • 마스터 노드: 1개 이상
  • 워커 노드: 1개 이상
  • 운영체제: Ubuntu 22.04 / CentOS 8 / Rocky Linux 9 등

2. 네트워크 및 시스템 설정

  • 고정 IP 할당 (마스터 & 워커 노드)
  • 방화벽 설정: 필요한 포트 오픈 (6443, 2379-2380, 10250-10255 등)
  • 스왑 비활성화 sudo swapoff -a echo 'vm.swappiness=0' | sudo tee -a /etc/sysctl.conf

3. 필수 패키지 설치

쿠버네티스 구성에 필요한 패키지를 설치합니다.

sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update && sudo apt install -y docker-ce

Docker가 아닌 containerd를 사용할 경우:

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
sudo apt install -y containerd

설정 변경 후 재시작:

sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
sudo systemctl restart containerd

4. Kubernetes 설치

쿠버네티스 패키지 (kubeadm, kubelet, kubectl) 설치:

curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update && sudo apt install -y kubeadm kubelet kubectl
sudo systemctl enable --now kubelet

5. 마스터 노드 초기화

마스터 노드를 초기화합니다.

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

성공하면 kubeadm join 명령어가 출력됩니다. (워커 노드에서 사용)

클러스터를 사용하려면:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

6. CNI 플러그인 설치 (네트워크 구성)

Flannel 설치:

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

7. 워커 노드 추가

각 워커 노드에서 마스터 노드의 kubeadm join 명령어를 실행합니다.
예시:

sudo kubeadm join <마스터노드_IP>:6443 --token <토큰> --discovery-token-ca-cert-hash sha256:<해시값>

8. 노드 정상 작동 확인

kubectl get nodes

모든 노드가 Ready 상태인지 확인합니다.


추가 설정 (선택 사항)

  • kubectl 자동 완성 source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc
  • Ingress 컨트롤러 설치 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/baremetal/deploy.yaml

이제 베어메탈 환경에서 쿠버네티스 클러스터가 실행됩니다. 🚀

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤