본문 바로가기

CI-CD/Kubernetes

Kubernetes- Multi Container Pod 생성

yaml 파일로 pod 생성하기

 도커 컴포즈에서도 compose를 위한 yaml 파일로 여러개의 컨테이너를 동시에 관리했듯이, 쿠버네티스에서도 yaml 파일로 여러개의 컨테이너를 하나의 파드에 동시에 생성 및 관리할 수 있다.

 

apiVersion: v1             # Pod의 api version은 v1이다.
kind: Pod                  # 관리하려는 api
metadata: 
  name: multipod           # pod 명
spec:                      # Pod의 내용 정의
  containers:
  - name: nginx-container
    image: nginx:1.14
    ports:
    - containerPort: 80     # 80번 포트 노출
  - name: centos-container
    image: centos:7
    command:
    - sleep
    - "10000"

위의 yaml 파일로는 두개의 컨테이너(nginx-container, centos-container)를 담은 한개의 파드를 생성한다. nginx는 80번 포트를 컨테이너의 포트로서 외부에 노출시켰다.

파드 내의 컨테이너들의 경우 파드의 ip를 본인들의 ip 주소로 가진다. 따라서 동일한 파드의 컨테이너들은 모두 동일한 ip를 가진다. 또한 컨테이너는 본인들의 호스트 네임을 파드 이름으로 가진다.

 

multi container pod의 특정 container로 들어가기

$ kubectl exec -it [POD_NAME] -c [CONTAINER_NAME] -- bash
$ kubectl exec -it multipod -c nginx-container -- bash

한 파드에 여러개의 컨테이너가 존재하는 경우 -c 옵션으로 컨테이너를 명시하여 해당 파드의 특정 컨테이너로 진입할 수 있다.

'CI-CD > Kubernetes' 카테고리의 다른 글

Kubernetes- Service  (0) 2024.06.07
Kubernetes- Controller  (0) 2024.06.03
Kubernetes- Context  (0) 2024.06.01
Kubernetes- 동작원리  (0) 2024.06.01
Kubernetes- 기본 개념 정리  (0) 2024.05.27