본문 바로가기
MLOps/Doker & Kubernetes

Udemy CKA 강의 정리 109: Multi Container PODs

by 공부하는 무니 2023. 1. 12.
반응형

해당 내용은 Udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의를 공부한 내용입니다. 내용을 그대로 번역하기보다는, 제가 이해하기 쉬운 대로 수정한 부분들이 있습니다.

⚠️ 영어 독해가 많이 부족합니다. 틀린 내용이 있으면 알려주시면 감사하겠습니다.


멀티 컨테이너 파드에 대해 알아보겠습니다. large monolithic 애플리케이션을 마이크로 서비스라는 하위 컴포넌트로 분리한다는 아이디어를 통해 우리는 독립적이고 작고 재사용 가능한 코드 세트를 개발하고 배포할 수 있습니다. 

이 아키텍처는 전체 애플리케이션을 수정하는 것과는 반대로 필요에 따라 각 서비스를 확장, 축소 및 수정하는 데 도움이 될 수 있습니다. 
그러나 때로는 웹 서버와 로깅 서비스와 같은 두 가지 서비스가 함께 작동해야 할 수도 있습니다. 함께 쌍을 이루는 웹 서버 인스턴스당 하나의 에이전트 인스턴스가 필요합니다. 

tool 서비스의 코드는 각각 다른 기능을 대상으로 하고 여전히 개별적으로 개발되고 배포되기를 원하기 때문에, tool 서비스의 코드를 병합하고 로드하는 것을 원하지 않습니다. 함께 작동하려면 두 가지 기능만 있으면 됩니다. 함께 확장 및 축소할 수 있는 쌍을 이룬 웹 서버 인스턴스당 하나의 에이전트가 필요합니다.

이것이 동일한 수명 주기를 공유하는 멀티 컨테이너 파드가 있는 이유입니다. 이들은 동일한 네트워크 공간을 공유하므로 서로를 로컬 호스트로 참조할 수 있으며, 동일한 스토리지 볼륨에 액세스할 수 있습니다. 이렇게 하면 파드 간에 통신을 활성화하기 위해 파드 간에 볼륨 공유 또는 서비스를 설정할 필요가 없습니다. 

다중 컨테이너 파드를 생성하려면 파드 definition 파일에 새 컨테이너 정보를 추가합니다. 파드 definition 파일의 spec 섹션 아래에 있는 컨테이너 섹션은 배열이며, 배열인 이유는 단일 파드에 여러 컨테이너를 허용하기 위한 것입니다. 

apiVersion: v1
kind: Pod
metadata:
  name: simple-webapp
  labels:
    name: simple-webapp
spec:
  containers:
  - name: simple-webapp
    image: simple-webapp
    ports:
    - ContainerPort: 8080
  - name: log-agent
    image: log-agent


이 경우 기존 파드에 log agent라는 새 컨테이너를 추가합니다. 

반응형

댓글