티스토리 뷰

728x90

포드 Pod

컨테이너화된 애플리케이션의 가장 작은 배포 및 관리 단위
포드는 하나 이상의 컨테이너를 포함할 수 있음
동일한 리눅스 네임스페이스와 동일한 워커 노드에서 항상 함께 실행됨
 

 

 
주요 특징

  • 컨테이너 그룹화 : 하나 이상의 컨테이너를 그롭화하여 동일한 네트워크와 스토리지를 공유. 일반적으로 포드 내 컨테이너들은 매우 밀접하게 연관된 작업을 수행. (ex. 한 포드 내의 두 컨테이너가 서로 파일스토리지를 공유하며 서로 의존하는 관계)
  • 네트워킹 : 포드 내부 컨테이너들은 동일한 네트워크 네임스페이스를 공유하여 동일한 IP주소와 포트를 사용하여 서로 통신할 수 있음. 포드 외부에서는 포드의 IP주소를 통해 접근할 수 있음
  • 일시적 생명주기 : 특정 작업이 완료되거나 더이상 필요하지 않으면 종료됨. 필요에 따라 언제든지 새로운 포드로 교체될 수 있음
  • 스케일링 및 복구 : 포드는 일반적으로 레플리케이션 컨트롤러에 의해 관리됨


포드의 필요성

  • 컨테이너는 하나의 프로세스만 실행하도록 설계됨.
  • 여러 프로세스를 실행하려면 다수의 컨테이너가 더 적합함.
  • 여러 프로세스를 하나의 컨테이너에 묶는 것은 비효율적임.
  • 여러 컨테이너들을 단일 단위로 관리하기 위해 포드가 필요해짐

 


 

레플리케이션 컨트롤러 Replication Controller

쿠버네티스에서 애플리케이션의 특정 수의 포드(Pod)가 항상 실행되도록 관리하는 역할을 하는 객체
애플리케이션의 가용성 보장하고 포드를 자동으로 생성/삭제하며 지정된 수의 포드를 유지 관리
 

 
레플리케이션의 일반적인 사용 패턴

  • Rescheduling : 클러스터 내에서 포드가 비정상적으로 종료되거나 삭제된 경우 자동 감지하여 새로운 노드에 동일한 포드를 다시 스케줄링하여 원하는 수의 포드를 유지함
  • Scaling : 애플리케이션 부하에 따라 포드의 수를 자동으로 조절
  • Rolling updates : 애플리케이션의 새로운 버전 배포 시 기존 포드를 점진적으로 대체. (무중단 배포)
  • Multiple release tracks : 여러 버전의 동일 애플리케이션을 동시에 관리 (ex. 안정버전 테스트버전)
  • Using ReplicationControllers with Services : 서비스와 함께 사용하여 포드에 대한 네트워크 접근을 안정적으로 관리

 
 

서비스 Service

클러스터 내에서 실행되는 애플리케이션의 네트워크 접근을 추상화하여 제공하는 객체
여러 개의 포드(Pod)를 하나의 논리적 엔드포인트로 묶어, 포드의 동적 IP 주소 변화에도 불구하고 일관된 네트워크 접근을 가능하게 함

  • 로드밸런싱 및 서비스 디스커버리: 쿠버네티스 서비스는 클러스터 내에서 애플리케이션의 여러 파드를 하나의 네트워크 엔드포인트로 묶어 로드밸런싱과 서비스 디스커버리를 제공
  • 유연한 서비스 타입: 서비스는 클러스터 내부 통신을 위한 ClusterIP, 외부에서 접근 가능한 NodePort, LoadBalancer, 그리고 특정 외부 IP와 연결하는 ExternalName 타입으로 구성할 수 있음
  • 자동화 및 유지 관리: 서비스는 동적 IP 주소 할당 및 포드의 수명주기와 관계없이 안정적인 네트워크 연결을 유지해줌

 


참고

728x90
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함