IT/CKA

[CKA독학]Pod의 Multi container/Init container

반응형

Multi container

  • pod에 컨테이너가 여러개 동작할 수 있도록 설정하는 방법
  • pod에 멀티컨테이너 설정시 하나의 컨테이너라도 실패하면 pod를 재시작함

Mutlcontainer yaml예시

apiVersion: v1
kind: pod 
#### ----------------------
metadata:
  name: myapp-pod
  labels:
    app: myapp
    type: front-end
spec:
  containers:
  - name: nginx-container
    image: nginx
  - name: log-agent
    image: log-agent
#### -----------------------

Inint container

  • Init container는 Multi container와 비슷하게 여러개 컨테이너를 설정할 수 가 있음
  • 단, Init container는 pod가 처음 생성될때 한번만 실행함
  • 여러개의 initContainer를 구성할 수 있으며 이 중 하나라도 완료되지 않으면 Kubernetes는 Init Container가 성공할 때까지 반복적으로 포드를 다시 시작함

Init container yaml예시

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox
    command: ['sh', '-c', 'echo running! && sleep 3600']
  initContainers:
  - name: init-container-1
    image: busybox:
    command: ['sh', '-c', 'until nslookup init-container-1; do echo waiting for myservice; sleep 2; done;']
  - name: init-container-2
    image: busybox
    command: ['sh', '-c', 'until nslookup init-container-2; do echo waiting for mydb; sleep 2; done;']
반응형