๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[DevOps]/Kubernetes

kubernetes - initContainer : ์ดˆ๊ธฐํ™”๋ฅผ ์œ„ํ•œ ์ปจํ…Œ์ด๋„ˆ

by ํŒกํŽ‘ํ 2024. 1. 17.
728x90

๐Ÿ“Œ initContainer(์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ)

  • Kubernetes Pod ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํŠน๋ณ„ํ•œ ์ข…๋ฅ˜์˜ ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค.
  • ์ฃผ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋ฉฐ, ์ฃผ๋กœ ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
  • ์ฃผ ์ปจํ…Œ์ด๋„ˆ์™€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ initContainer์˜ ์‹คํ–‰์ด ์™„๋ฃŒ๋˜์–ด์•ผ ์ฃผ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋œ๋‹ค. 
  • ๊ฐ๊ฐ์˜ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋˜๋ฉฐ ์ด์ „ initContainer๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์–ด์•ผ ๋‹ค์Œ initContainer๊ฐ€ ์‹คํ–‰๋œ๋‹ค.
  • ์ฃผ ์ปจํ…Œ์ด๋„ˆ์™€ ๋ณ„๋„์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์†ํ•ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ ์ปจํ…Œ์ด๋„ˆ์™€ ์ง์ ‘ ํ†ต์‹ ํ•  ์ˆ˜๋Š” ์—†๋‹ค.
  • Pod ๋‚ด์—์„œ ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿค” initContainer์˜ ์‚ฌ์šฉ ๋ชฉ์ 

๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™”

์ฃผ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์ „์— ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด initContainer๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ดˆ๊ธฐํ™” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ข…์†์„ฑ ์ฒ˜๋ฆฌ

์ฃผ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „์— ์ข…์†์„ฑ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด initContainer๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ™˜๊ฒฝ ์„ค์ •

initContainer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ ์ปจํ…Œ์ด๋„ˆ์˜ ํ™˜๊ฒฝ์„ ์‚ฌ์ „์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜, ์‹œํฌ๋ฆฟ ๋˜๋Š” ๊ตฌ์„ฑ๋งต์—์„œ ์ธ์ฆ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€ ์„ค์ • ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ“œ yaml ์˜ˆ์‹œ

apiVersion: v1
kind: Pod
metadata:
  name: red
  namespace: default
spec:
  containers:
  - command:
    - sh
    - -c
    - echo The app is running! && sleep 3600
    image: busybox:1.28
    name: red-container
  initContainers: // ์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ
  - image: busybox
    name: red-initcontainer
    command: 
      - "sleep"
      - "20"

 

 

 

 

์ฐธ๊ณ 

๋คผํŠผ

Udemy - Certified Kubernetes Administrator (CKA) with Practice Tests

728x90