일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 파드
- kub-ai
- POD
- KVM
- 피카푸글램핑
- k8s
- api-key
- mac터널링
- 쿠버네티스보안
- 도봉산글램핑
- 티스토리챌린지
- kube-ai
- 글램핑
- macos 터널링
- 입문용칼
- GPU
- 쿠버네티스기초
- 오블완
- IT
- 캠핑
- kubernetes
- 쿠버네티스
- kubernetes-ai
- virt-manager
- k8sgpt
- 피카푸클램핑도봉산
- 입문나이프
- karpor
- AI
- 피카푸캠핑도봉산
- Today
- Total
마구잡
Kubernetes에서 변경 불가능한(Immutable) Pod란 본문
Kubernetes에서 변경 불가능한(Immutable) Pod란
변경 가능(Non-Immutable) vs 변경 불가능(Immutable)이란?
Kubernetes에서 Pod의 변경 가능성(immutability) 은 해당 Pod 내부의 컨테이너가 데이터를 저장하거나 중요한 시스템 설정을 변경할 수 있는지 여부에 따라 결정된다.
변경 불가능한(immutable) Pod는 컨테이너가 실행 중에도 파일 시스템을 변경하지 못하고, 보안적으로 안전한 상태를 유지하는 것을 의미한다.
공식 사이트
(광고 클릭은 큰 힘이 됩니다!)
파드
파드(Pod) 는 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이다. 파드 (고래 떼(pod of whales)나 콩꼬투리(pea pod)와 마찬가지로)는 하나 이상의 컨테이너의 그룹이다.
kubernetes.io
( 공식 사이트에서 발췌한 내용을 기반으로 작성하였으나, 명확하지 않은 부분은 경험을 토대로 작성하였습니다. 이는 정확한 정보가 아닐 수 있음을 알려드립니다. )
변경 가능(Non-Immutable) vs 변경 불가능(Immutable)
1. 변경 가능(Non-Immutable) Pod란?
컨테이너 내부에서 파일을 수정하거나 데이터를 저장할 수 있는 Pod를 의미한다.
아래 두 가지 조건 중 하나라도 만족하면 변경 가능한 Pod로 간주한다.
① readOnlyRootFilesystem: false 이거나 설정이 없음
Pod 내부의 컨테이너가 root 파일 시스템을 변경할 수 있다면 변경 가능하다.
• readOnlyRootFilesystem: false (파일을 수정할 수 있음)
• readOnlyRootFilesystem 설정이 아예 없는 경우 (기본값이 false)
예시 (변경 가능)
② privileged: true
컨테이너가 루트 권한을 가지면 호스트 시스템을 포함한 여러 변경이 가능하기 때문에 변경 가능하다.
• privileged: true (컨테이너가 높은 권한을 가짐)
• 이 설정이 있으면 컨테이너가 파일을 수정하고, 시스템을 조작할 수 있음
예시 (변경 가능)
• privileged: true → 변경 가능 (루트 권한)
spec:
containers:
- name: app
image: nginx
securityContext:
privileged: true # 높은 권한을 가진 컨테이너 (변경 가능)
• readOnlyRootFilesystem 설정 없음 → 기본값이 false (변경 가능)
securityContext: {}
2. 변경 불가능(Immutable) Pod란?
컨테이너 내부에서 파일 시스템을 변경할 수 없는 Pod를 의미한다.
변경 불가능하려면 아래 두 가지 조건을 만족해야 한다.
① readOnlyRootFilesystem: true
파일 시스템을 읽기 전용(읽을 수만 있고, 수정 불가) 상태로 설정해야 한다.
• 컨테이너 내에서 touch file.txt 또는 echo "hello" > file.txt 같은 파일 생성/수정 명령어 실행이 불가능함
• /var, /etc 같은 시스템 경로도 변경할 수 없음
예시 (변경 불가능)
spec:
containers:
- name: app
image: nginx
securityContext:
readOnlyRootFilesystem: true # 파일 시스템이 읽기 전용 (변경 불가능)
② privileged: false
컨테이너가 루트 권한을 가지지 않아야 함
• privileged: false 또는 설정 자체가 없으면 기본적으로 변경 불가능
• 컨테이너가 호스트 시스템을 변경할 수 없음
예시 (변경 불가능)
spec:
containers:
- name: app
image: nginx
securityContext:
privileged: false # 기본값 (루트 권한 없음)
중요
잘못된 정보나, 문의등은 댓글로 메일과 함께 적어주시면 감사하겠습니다.
'Kubernetes' 카테고리의 다른 글
Kubernetes-AI Karpor (with Ollama) (3) | 2025.03.13 |
---|---|
kubernetes AI - K8sGPT 활용 (with: Ollama-AI, Google Gemini) (0) | 2025.02.24 |
Kubernetes Migrating a Calico cluster to Cilium (0) | 2025.01.06 |
Kubernetes OpenEBS LVM 사용하기 (0) | 2024.11.08 |
kubernetes kubelet 인증서 갱신 시점 (1) | 2024.10.29 |