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
'[DevOps] > Kubernetes' 카테고리의 다른 글
| CKA 시험 접수 -> 응시 -> 합격 후기(1트 합격) (9) | 2024.11.26 |
|---|---|
| kubernetes - Node Update(drain, cordon, uncordon) (0) | 2024.01.20 |
| 쿠버네티스 배포 전략 간단히 알아보기 (2) | 2023.12.15 |
| kubernetes - DaemonSet, Static Pod (0) | 2023.12.04 |
| 쿠버네티스 CKA 응시료 할인받고 접수하기(Cyber Monday 50% 할인) (2) | 2023.12.03 |