Information in this document may be out of date

This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: Configure Pod Initialization

์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ๊ตฌ์„ฑ

์ด ํŽ˜์ด์ง€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ์ „์— ํŒŒ๋“œ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ค€๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๊ณ , kubectl ์ปค๋งจ๋“œ-๋ผ์ธ ํˆด์ด ํด๋Ÿฌ์Šคํ„ฐ์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด ํŠœํ† ๋ฆฌ์–ผ์€ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ํ˜ธ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ๋…ธ๋“œ๊ฐ€ ์ ์–ด๋„ 2๊ฐœ ํฌํ•จ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ๋งŒ์•ฝ, ์•„์ง ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด, minikube๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฒ„์ „ ํ™•์ธ์„ ์œ„ํ•ด์„œ, ๋‹ค์Œ ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ kubectl version.

์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ–๋Š” ํŒŒ๋“œ ์ƒ์„ฑ

์ด ์—ฐ์Šต์—์„œ ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…Œ์ด๋„ˆ์™€ ํ•˜๋‚˜์˜ ์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ–๋Š” ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์ „์— ์‹คํ–‰์„ ์ข…๋ฃŒํ•œ๋‹ค.

์•„๋ž˜๋Š” ํ•ด๋‹น ํŒŒ๋“œ์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์ด๋‹ค.

apiVersion: v1
kind: Pod
metadata:
  name: init-demo
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80
    volumeMounts:
    - name: workdir
      mountPath: /usr/share/nginx/html
  # ์ด ์ปจํ…Œ์ด๋„ˆ๋“ค์€ ํŒŒ๋“œ ์ดˆ๊ธฐํ™” ์ค‘์— ์‹คํ–‰๋œ๋‹ค.
  initContainers:
  - name: install
    image: busybox:1.28
    command:
    - wget
    - "-O"
    - "/work-dir/index.html"
    - http://info.cern.ch
    volumeMounts:
    - name: workdir
      mountPath: "/work-dir"
  dnsPolicy: Default
  volumes:
  - name: workdir
    emptyDir: {}

์ด ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ, ํŒŒ๋“œ๊ฐ€ ๊ฐ€์ง„ ๋ณผ๋ฅจ์„ ์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ณต์œ ๋œ ๋ณผ๋ฅจ์„ /work-dir ์— ๋งˆ์šดํŠธํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ณต์œ ๋œ ๋ณผ๋ฅจ์„ /usr/share/nginx/html ์— ๋งˆ์šดํŠธํ•œ๋‹ค. ์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ๋Š” ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ ํ›„ ์ข…๋ฃŒํ•œ๋‹ค.

wget -O /work-dir/index.html http://info.cern.ch

์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ๋Š” nginx ์„œ๋ฒ„์˜ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด index.html ํŒŒ์ผ์„ ์ €์žฅํ•œ๋‹ค.

ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

kubectl apply -f https://k8s.io/examples/pods/init-containers.yaml

nginx ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•œ๋‹ค.

kubectl get pod init-demo

์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” nginx ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰ ์ค‘์ž„์„ ๋ณด์—ฌ์ค€๋‹ค.

NAME        READY     STATUS    RESTARTS   AGE
init-demo   1/1       Running   0          1m

init-demo ํŒŒ๋“œ ๋‚ด ์‹คํ–‰ ์ค‘์ธ nginx ์ปจํ…Œ์ด๋„ˆ์˜ ์…ธ์„ ์‹คํ–‰ํ•œ๋‹ค.

kubectl exec -it init-demo -- /bin/bash

์…ธ์—์„œ GET ์š”์ฒญ์„ nginx ์„œ๋ฒ„๋กœ ์ „์†กํ•œ๋‹ค.

root@nginx:~# apt-get update
root@nginx:~# apt-get install curl
root@nginx:~# curl localhost

์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” nginx๊ฐ€ ์ดˆ๊ธฐํ™” ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ์ €์žฅ๋œ ์›น ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Œ์„ ๋ณด์—ฌ์ค€๋‹ค.

<html><head></head><body><header>
<title>http://info.cern.ch</title>
</header>

<h1>http://info.cern.ch - home of the first website</h1>
  ...
  <li><a href="http://info.cern.ch/hypertext/WWW/TheProject.html">Browse the first website</a></li>
  ...

๋‹ค์Œ ๋‚ด์šฉ

์ตœ์ข… ์ˆ˜์ • May 18, 2022 at 9:43 AM PST: [ko] Update links heading to the Debugging section (f0386b499a)