[DevOps]/Kubernetes
쿠버네티스의 핵심 개념과 아키텍처
팡펑퐁
2023. 7. 11. 01:04
728x90
파드(Pod)
- 컨테이너를 관리하는 단위이다.
- 쿠버네티스 세계에서 가장 작은 단위라고 할 수 있다.
- 컨테이너를 실행할 책임을 가지고 있다.
- 컨테이너를 감싸는 포장지라고 생각하자.
- 파드는 트래픽의 증감에 따라 쿠버네티스에 의해 사용 가능한 모든 워커 노드로 자동 배포된다.
노드(Node)
- 클러스터와 통신하거나, 클러스터 내에서 통신하는 물리적인 머신(PC), 가상 머신(EC2 등)을 말한다.
- 하나 또는 여러 개의 파드를 호스팅 하는 특정 하드웨어 용량을 가진다.
워커 노드(Worker Node)
- 컨테이너를 실행하는 머신이다.
- 특정 양의 CPU와 메모리가 있는 컴퓨터이며, 이 머신에서 파드를 실행한다.
- 예를 들면 AWS의 EC2 인스턴스가 워커 노드가 되는 것이다.
- 하나의 워커 노드에서 둘 이상의 파드를 실행할 수 있다.
- 쿠버네티스로 작업을 할 때에는 일반적으로 하나 이상의 워커 노드를 필요로 한다.
마스터 노드(Master Node)
- 큰 애플리케이션의 경우 다른 워커 노드를 실행할 수 있는 노드를 필요로 한다.
- 이것이 마스터 노드이다.
- 모든 컨테이너는 실행하는데 필요한 충분량의 컴퓨팅 성능을 갖기 위해 둘 이상의 서버를 필요로 할 수 있다.
- 이를 컨테이너 스케일링이라고 한다.
- 따라서 어떤 노드에서 실행되는 파드 및 컨테이너를 만들고 교체하고 실행, 종료하는 제어 역할을 해야 한다.
- 이를 마스터 노드에서 하며 특별히 호출되는 컨트롤 플레인(Control Plane)에 의해 수행된다.
- 기본적으로 워커 노드와 상호 작용하여 워커노드를 제어하는 컨트롤 센터라고 할 수 있다.
클러스터(Cluster)
- 노드 머신, 마스터 노드, 워커 노드, 배포나 최종 상태를 구성하는 컬렉션 세트를 말한다.
프록시(Proxy)
- 네트워크 트래픽을 제어하는 도구이다.
- 기본적으로 포드가 인터넷에 연결할 수 있는지 여부와 컨테이너를 외부에서 어떻게 접근할 것인지를 제어한다.
서비스(Service)
- 독립적인 IP 주소를 가진 파드 그룹이다.
- 특정 파드를 외부에 노출하여 외부에서 특정 IP 주소 또는 도메인으로 접근(연결)할 수 있도록 한다.
쿠버네티스를 위해 개발자가 해야할 것
- 쿠버네티스를 설치한다.
- 작업을 대신 수행해 줄 마스터 노드를 만들고 설정한다.
- 쿠버네티스 클러스터를 구성한다면 필요한 부가적인 리소스를 설정할 수도 있다.
- 로드밸런서나 특정 파일 시스템 서비스 등이 있다.
쿠버네티스가 해주는 것
- 파드들을 생성하고 관리한다.
- 사용 가능한 리소스에 맞춰 자동으로 배포한다.
- 모니터링하며 문제가 있을 시에 재시작한다.
참고
Udemy- Docker & Kubernetes : 실전 가이드
728x90