2024. 11. 25. 14:33, note
์ฟ ๋ฒ๋คํฐ์ค(Kubernetes)์์ ํ๋ก๋ธ(Probe)๋ ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์ด๋์ ์ํ๋ฅผ ์ ๊ฒํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ํ๋ก๋ธ๋ ์ฃผ๋ก ํฌ์ค ์ฒดํฌ์ ์ฌ์ฉ๋๋ฉฐ, ์ด๋ฅผ ํตํด ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ ํ ์กฐ์น๋ฅผ ์ทจํ ์ ์์ต๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค์์ ์ง์ํ๋ ์ฃผ์ ํ๋ก๋ธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Liveness Probe: ์์กด ์ฌ๋ถ๋ฅผ ํ์ธํ๋ฉฐ, ์คํจ ์ ์ปจํ ์ด๋ ์ฌ์์.
- Readiness Probe: ์ค๋น ์ํ๋ฅผ ํ์ธํ๋ฉฐ, ์คํจ ์ ํธ๋ํฝ ์ฐจ๋จ
- Startup Probe: ์์ ์๋ฃ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ฉฐ, Liveness/Readiness Probe์ ์คํ์ ์ง์ฐ.
Liveness Probe
์ญํ : ์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ์๋ ์ค์ธ์ง ํ์ธ.
- ์คํจํ๋ฉด ์ปจํ ์ด๋๋ฅผ ์ฌ์์.
- ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ณ ์ฅ๋ ์ํ์์ ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด ์ฌ์ฉ.
- ์: ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ๋๋ฝ ์ํ์ ๋น ์ก๊ฑฐ๋, ์๋ตํ์ง ์๋ ์ํ.
livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 3 periodSeconds: 5
Readiness Probe
์ญํ : ์ปจํ ์ด๋๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ ์ค๋น๊ฐ ๋์๋์ง ํ์ธ.
- ์คํจํ๋ฉด ํด๋น ์ปจํ ์ด๋๋ก ํธ๋ํฝ์ ์ ๋ฌํ์ง ์์.
- ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐํ๋ ์์กด ์๋น์ค๊ฐ ์ค๋น๋ ๋๊น์ง ๋๊ธฐํ๊ธฐ ์ํด ์ฌ์ฉ.
- Liveness์ ๋ฌ๋ฆฌ ์ปจํ
์ด๋๋ฅผ ์ฌ์์ํ์ง๋ ์์.
readinessProbe: tcpSocket: port: 3306 initialDelaySeconds: 5 periodSeconds: 10
Startup Probe
์ญํ : ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ ํ ์์๋์๋์ง ํ์ธ.
- Readiness์ Liveness์ ์ญํ ์ ๋์ฒดํ์ง ์์ง๋ง, ์์์ด ๋๋ฆฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ ์ฉ.
- Startup Probe๊ฐ ์ฑ๊ณตํ๊ธฐ ์ ์๋ Liveness์ Readiness๊ฐ ์คํ๋์ง ์์.
startupProbe: exec: command: - cat - /tmp/ready initialDelaySeconds: 10 periodSeconds: 5 failureThreshold: 30
ํ๋ก๋ธ์ ์ค์ ๊ตฌ์ฑ
- ๋์ ์ ํ
httpGet
: HTTP ์์ฒญ์ ๋ณด๋ด ์ํ ํ์ธ.tcpSocket
: ํน์ ํฌํธ์์ TCP ์ฐ๊ฒฐ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ.exec
: ์ปจํ ์ด๋ ๋ด์์ ํน์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ณ ์ข ๋ฃ ์ฝ๋๋ฅผ ํ์ธ.
- ์ฃผ์ ํ๋ผ๋ฏธํฐ
initialDelaySeconds
: ํ๋ก๋ธ ์์ ์ ๋๊ธฐ ์๊ฐ.periodSeconds
: ํ๋ก๋ธ ์ฃผ๊ธฐ.timeoutSeconds
: ํ๋ก๋ธ ์๋ต ํ์์์.failureThreshold
: ์คํจ๋ฅผ ๋ช ๋ฒ ์ฐ์์ผ๋ก ๊ฐ์งํ๋ฉด ์ํ๋ฅผ "๋น์ ์"์ผ๋ก ํ๋จํ ์ง ์ค์ .successThreshold
: ๋ช ๋ฒ ์ฐ์ ์ฑ๊ณตํ๋ฉด ์ํ๋ฅผ "์ ์"์ผ๋ก ํ๋จํ ์ง ์ค์ (์ฃผ๋ก Readiness Probe์ ์ฌ์ฉ).
ํ๋ก๋ธ ํ์ฉ ์ ์ฃผ์์
- Startup Probe๋ ๋๋ฆฐ ์ด๊ธฐํ๋ฅผ ์ฒ๋ฆฌํ ๋๋ง ํ์ํ๋ฉฐ, ์ค์ ํ์ง ์์ผ๋ฉด Liveness Probe๊ฐ ์ด๊ธฐํ ๊ณผ์ ์์ ๋ถํ์ํ๊ฒ ์ฌ์์์ ์ ๋ฐํ ์ ์์ต๋๋ค.
- Readiness Probe๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐํ๋ฟ๋ง ์๋๋ผ ์ธ๋ถ ์์กด์ฑ(์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ํ)์ ํ์ธํ๋ ๋ฐ๋ ์ ํฉํฉ๋๋ค.
- Liveness Probe๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ ์ฅ ์ํ๋ฅผ ์ ์ํ ๊ฐ์งํ๊ณ ๋ณต๊ตฌํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
'note' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Kubernetes HPA (Horizontal Pod Autoscaler) ์์๋ณด๊ธฐ (0) | 2024.11.27 |
---|---|
Spark ์กฐ์ธ(join) ์ต์ ํ (0) | 2024.11.26 |
๋์ปค ๋ฉํฐ์คํ ์ด์ง (0) | 2024.11.24 |
Apache Spark RDD(Resilient Distributed Dataset) (0) | 2024.11.22 |
Metrics Monitoring and Alerting system (๋ฒ์ญ) (0) | 2024.11.20 |