쿠버네티스(Kubernetes) 설치 가이드: 클러스터 구축을 위한 첫걸음


**쿠버네티스(Kubernetes)**는 컨테이너화된 애플리케이션의 배포, 확장, 관리 등을 자동화하기 위한 오픈소스 플랫폼입니다. 클라우드 환경에서 마이크로서비스 아키텍처를 지원하며, 현대적인 애플리케이션 인프라 관리의 핵심 도구로 자리 잡았습니다.

이번 글에서는 로컬 환경 및 클라우드 환경에서 쿠버네티스를 설치하고 클러스터를 구성하는 방법을 단계별로 안내합니다.


목차

  1. 쿠버네티스란 무엇인가?
  2. 쿠버네티스 설치 방법 개요
  3. 쿠버네티스 설치 준비 사항
  4. 로컬 환경에 쿠버네티스 설치하기
    • 4.1 Minikube를 사용한 설치
    • 4.2 Kind(Kubernetes in Docker)를 사용한 설치
  5. 클라우드 환경에 쿠버네티스 설치하기
    • 5.1 Google Kubernetes Engine(GKE)
    • 5.2 Amazon Elastic Kubernetes Service(EKS)
  6. 쿠버네티스 설치 후 클러스터 테스트
  7. 결론

1. 쿠버네티스란 무엇인가?

쿠버네티스는 컨테이너 기반 애플리케이션의 오케스트레이션 플랫폼으로, 여러 대의 서버에 걸쳐 컨테이너를 배포하고, 확장하고, 유지 관리하는 작업을 자동화합니다.

주요 특징

  • 자동화된 배포 및 확장: 컨테이너를 자동으로 배포 및 스케일링.
  • 셀프 힐링(Self-Healing): 장애가 발생한 컨테이너를 자동으로 복구.
  • 서비스 디스커버리와 로드 밸런싱: 클러스터 내에서 서비스의 안정적인 접근 제공.
  • 롤링 업데이트: 애플리케이션을 중단 없이 업그레이드.

2. 쿠버네티스 설치 방법 개요

쿠버네티스 설치는 크게 두 가지 방식으로 나뉩니다:

  1. 로컬 환경 설치
    • 개발 및 테스트를 위해 Minikube, Kind 등의 도구를 사용.
  2. 클라우드 환경 설치
    • 프로덕션 환경에서 GKE(Google Kubernetes Engine), EKS(AWS), AKS(Azure) 등 매니지드 쿠버네티스 서비스를 사용.

3. 쿠버네티스 설치 준비 사항

(1) 필수 조건

  • 운영 체제: Linux, macOS, Windows 중 하나.
  • 하드웨어 요구사항:
    • 최소 2개의 CPU 코어.
    • 2GB 이상의 메모리.
    • 20GB 이상의 디스크 공간.
  • 도구 설치:
    • Docker (컨테이너 실행 환경).
    • kubectl (쿠버네티스 CLI).

(2) 도구 설치

Docker 설치

Docker 공식 사이트에서 설치 및 설정을 진행하세요.

kubectl 설치

kubectl은 쿠버네티스를 관리하기 위한 CLI 도구입니다.

<bash>

# Linux
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

# macOS (Homebrew)
brew install kubectl

# Windows (choco)
choco install kubernetes-cli

설치 확인:

<bash>

kubectl version --client

4. 로컬 환경에 쿠버네티스 설치하기

4.1 Minikube를 사용한 설치

Minikube는 단일 머신에 쿠버네티스를 실행할 수 있는 경량화된 도구로, 개발과 테스트에 적합합니다.

(1) Minikube 설치

<bash>

# macOS
brew install minikube

# Linux
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikube

# Windows
choco install minikube

설치 확인:

<bash>

minikube version

(2) Minikube 클러스터 시작

<bash>

minikube start --driver=docker

정상적으로 실행되면 다음과 같은 메시지가 표시됩니다:

<vbnet>

🏄  Done! kubectl is now configured to use "minikube" cluster.

(3) 클러스터 상태 확인

<bash>

kubectl get nodes

4.2 Kind(Kubernetes in Docker)를 사용한 설치

Kind는 Docker 컨테이너를 사용해 쿠버네티스 클러스터를 실행하는 도구입니다.

(1) Kind 설치

<bash>

# Linux / macOS
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Windows
choco install kind

설치 확인:

<bash>

kind version

(2) 클러스터 생성

<bash>

kind create cluster

(3) 클러스터 상태 확인

<bash>

kubectl get nodes

5. 클라우드 환경에 쿠버네티스 설치하기

5.1 Google Kubernetes Engine (GKE)

GKE는 Google Cloud Platform에서 제공하는 매니지드 쿠버네티스 서비스입니다.

(1) GCP 프로젝트 설정

  • Google Cloud Console에 접속하여 새 프로젝트를 생성.
  • Kubernetes Engine API를 활성화.

(2) gcloud CLI 설치 및 설정

<bash>

curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-<VERSION>.tar.gz
./google-cloud-sdk/install.sh
gcloud init

(3) GKE 클러스터 생성

<bash>

gcloud container clusters create my-cluster --num-nodes=3 --region=us-central1

(4) kubectl 연결

<bash>

gcloud container clusters get-credentials my-cluster --region=us-central1
kubectl get nodes

5.2 Amazon Elastic Kubernetes Service (EKS)

EKS는 AWS에서 제공하는 매니지드 쿠버네티스 서비스입니다.

(1) AWS CLI 설치 및 설정

<bash>

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
aws configure

(2) eksctl 설치

<bash>

brew tap weaveworks/tap
brew install weaveworks/tap/eksctl

(3) EKS 클러스터 생성

<bash>

eksctl create cluster --name my-cluster --region us-west-2 --nodes 3

(4) 클러스터 연결

<bash>

kubectl get nodes

6. 쿠버네티스 설치 후 클러스터 테스트

(1) 간단한 애플리케이션 배포

<bash>

kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-node --type=LoadBalancer --port=8080

(2) 서비스 확인

<bash>

kubectl get services

(3) 브라우저에서 확인

서비스의 외부 IP를 브라우저에 입력하여 애플리케이션이 정상적으로 실행되는지 확인합니다.


7. 맺음말

쿠버네티스 설치는 처음에는 복잡해 보이지만, Minikube와 Kind 같은 도구를 활용하면 로컬 환경에서 손쉽게 클러스터를 구축할 수 있습니다. 프로덕션 환경에서는 GKE, EKS 같은 클라우드 매니지드 서비스를 활용하여 높은 안정성과 확장성을 제공합니다.

이 가이드를 따라 쿠버네티스를 설치하고 클러스터를 구성한 후, 애플리케이션 배포와 관리를 통해 실제 환경에서 쿠버네티스의 강력한 기능을 체험해 보세요! 효율적인 컨테이너 오케스트레이션의 세계로 한 발 더 다가갈 수 있습니다.


2930 Blog에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.