IT 끄적이기

쿠버네티스(k8s) 학습하기 - 용어 설명

미르아 2024. 12. 27. 17:45
728x90

1. 포드(Pod)란 무엇인가?

  • 포드는 쿠버네티스에서 가장 작은 배포 단위로, 하나 이상의 컨테이너를 포함합니다.
  • 일반적으로 하나의 포드는 단일 애플리케이션의 하나의 인스턴스를 실행합니다(예: Nginx 웹 서버, Node.js 백엔드).

2. "포드를 웹에서 띄운다"는 뜻

이는 포드에서 실행 중인 애플리케이션을 외부에서 접근 가능하게 만든다는 의미입니다. 예를 들어, 클러스터 내부에서만 실행 중인 Nginx 웹 서버를 외부 사용자가 접근할 수 있도록 설정하는 것을 말합니다.

이를 위해 서비스(Service) 리소스를 사용합니다:

  • ClusterIP: 클러스터 내부에서만 접근 가능한 기본 서비스 유형.
  • NodePort: 클러스터 외부에서 접근할 수 있는 방식으로, 노드의 특정 포트를 외부에 노출.
  • LoadBalancer: 클라우드 환경에서 외부 IP를 할당받아 포드를 노출.

3. "포드 간 통신을 본다"는 뜻

포드 간 통신은 쿠버네티스 클러스터 내부에서 실행 중인 포드가 서로 데이터를 주고받는 과정을 이해하라는 의미입니다. 예를 들어:

  • 프론트엔드 포드가 백엔드 포드에 요청을 보냄.
  • 백엔드 포드가 데이터베이스 포드에 데이터를 저장.

포드 간 통신을 이해하는 데 필요한 개념:

  1. DNS를 통한 통신:
    • 쿠버네티스는 모든 서비스에 고유한 DNS 이름을 제공합니다.
    • 예를 들어, backend-service.default.svc.cluster.local 같은 이름으로 백엔드 서비스에 접근 가능.
  2. 네트워크 정책(NetworkPolicy):
    • 어떤 포드가 어떤 포드와 통신할 수 있는지 제어합니다.
    • 기본적으로 모든 포드가 서로 통신 가능하지만, 네트워크 정책으로 제한할 수 있습니다.
  3. 서비스(Service):
    • 포드의 IP 주소는 동적으로 변경될 수 있으므로, 포드 간 통신을 안정적으로 유지하기 위해 서비스가 사용됩니다.

Minikube를 설치한 후, 쿠버네티스 클러스터를 테스트하고 학습하기 위해 다음 단계를 진행하면 좋습니다. 이 과정에서 Minikube의 기능을 이해하고 쿠버네티스의 기본 사용법을 익힐 수 있습니다.

728x90