TECH / / 2023. 9. 1. 17:48

쿠버네티스(Kubernetes) 설치 방법

반응형

최근 Devops나 플랫폼을 운영하는 시스템 관련 직종에서는 매우 핫한 쿠버네티스(Kubernetes)는 도대체 무엇이며? 설치하는 방법에 대하여 자세하게 설명드리겠습니다. 

 

 

쿠버네티스?

 

쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 확장 및 관리하기 위한 오픈 소스 플랫폼입니다. 구글에서 개발한 쿠버네티스는 컨테이너 오케스트레이션 도구로서, 대규모 분산 시스템을 효율적으로 관리할 수 있도록 도와줍니다.

 

또한, 컨테이너화된 애플리케이션을 여러 개의 호스트에 분산 배포하고, 자동으로 확장하여 트래픽에 대응할 수 있도록 합니다. 또한, 애플리케이션의 상태를 모니터링하고, 장애 발생 시 자동으로 복구하며, 롤링 업데이트와 롤백 등을 지원하여 애플리케이션의 지속적인 운영을 보장합니다. 


그리고, 컨테이너 오케스트레이션을 위한 다양한 기능을 제공하며, 이를 통해 개발자와 운영팀은 애플리케이션을 더욱 효율적으로 관리할 수 있습니다. 또한, 쿠버네티스는 다양한 클라우드 환경에서 동작할 수 있으며, 다양한 컨테이너 런타임과 통합하여 사용할 수 있습니다.

 

설치 방법

 

쿠버네티스 설치 방법에는 여러가지 방식이 있는데요 아래 내용은 보통 일반적인 Kubernetes 설치 방법입니다. 사실 실제 프러덕션 서비스에 올리려면 과정이 매우 복잡하고 정상적으로 한번에 연동하기가 매우 어렵습니다. 즉, 수많은 트러블 슈팅을 거쳐야 합니다. 

 

1. 클러스터 구성

 

마스터 노드: Kubernetes 제어 평면을 실행하는 노드
워커 노드: 컨테이너가 실행되는 노드


2. 컨테이너 런타임 설치

Kubernetes는 기본적으로 Docker를 사용하므로 Docker를 설치해야 합니다. 다른 컨테이너 런타임을 사용하려면 해당 런타임을 설치해야 합니다.

 

3. kubeadm 설치

 

kubeadm은 Kubernetes 클러스터를 구성하는 도구입니다. kubeadm을 사용하여 마스터 노드를 초기화하고 워커 노드를 클러스터에 추가할 수 있습니다.

 

4. 마스터 노드 초기화

 

kubeadm을 사용하여 마스터 노드를 초기화합니다. 이 단계에서는 Kubernetes 제어 평면 컴포넌트인 kube-apiserver, kube-controller-manager, kube-scheduler 등이 설치가 되는것입니다.

 

5. 워커 노드 추가

 

kubeadm을 사용하여 워커 노드를 클러스터에 추가합니다. 이 단계에서는 kubelet과 kube-proxy가 설치되고 마스터 노드와 통신할 수 있도록 설정이 완료됩니다.

 

6. 네트워크 설정

 

Kubernetes 클러스터 내의 컨테이너 간 통신을 위해 네트워크 플러그인을 설치해야 합니다. 대표적인 네트워크 플러그인으로는 Calico, Flannel, Weave 등이 있으니 참고하시기 바랍니다.

 

7. 클러스터 확인

kubectl 명령어를 사용하여 클러스터가 정상적으로 작동하는지 확인할 수 있습니다. kubectl을 설치하고 클러스터 정보를 확인하는 명령어를 실행하면 됩니다.

 

 


 

위에서 언급한 내용은 일반적인 내용이며 실무에서 실제 운영환경이나 서비스 용도등에 따라 다를수 있습니다. 가급적이면 쿠버네티스 공식 사이트를 방문하여 레퍼런스 문서를 참고하는것도 좋은 방법이 될수있습니다. 

 

앞서 언급했듯이 필자의 경우 Kubernetes 테스트 연동 단계에서 부터 수많은 난관에 부딪힌 경험이 있습니다. 한가지 팁은 쿠버네티스의 개념이나 네트워크 Flow을 사전에 충분히 이해하고 접근하시면 조금 수월할것입니다.

 

 

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유