- Master: 쿠버네티스를 전반적으로 컨트롤 하는 서버
- Node: 한 마스터에 여러 노드들이 연결되어 자원을 제공하는 서버. 클러스터 전체의 자원을 늘리고 싶다면 노드를 추가.
- Namespace: 클러스터 안의 Namespace가 쿠버네티스 오브젝트들을 독립된 공간으로 분리되게 만듦.
- Pod: Namespace 안에는 쿠버네티스의 최소 배포 단위인 Pod들이 있음.
- Pod Service: Pod들이 외부로부터 연결이 가능하도록 함. 단, 서로 다른 Namespace들 간 내부 통신은 불가능.
- Container: Container 안에는 하나의 앱이 동작하고, Pod 안에는 여러 컨테이너가 존재 가능.
- Volume: Pod이 날아가면 내부의 데이터도 날아가기 때문에 Pod이 재생성될 때나 서로 다른 Pod끼리 데이터를 공유할 때 데이터를 저장하는 곳.
- ResourceQuota: Namespace 레벨에서 자원 할당을 관리하는 쿠버네티스 오브젝트.
- LimitRange: Pod/Container 레벨에서 자원 할당을 관리하는 쿠버네티스 오브젝트.
- ConfigMap: key/value 형태의 평문 configuration 관리 오브젝트.
- Secret: key/value 형태의 암호화된 configuration 관리 오브젝트. (기본은 Base64, 하지만 KMS-Key Mangement Service-로 encryption 추가 가능)
- Controller: Pod을 관리하는 Control Loop
- Control Loop: Loop인 이유는 반복되는 일정에 따라 Loop을 돌기 때문. (검색-비교-조정-reconciliation period 사이클)
- Replication Controller, ReplicateSet: Pod이 죽으면 되살리거나 개수를 늘리거나 줄임. (Scale In / Scale Out)
- Deployment: v1 Pod을 v2로 업데이트해줌. 문제가 생길시 롤백을 하기 쉽게 해줌.
- DaemonSet: 한 노드에 하나의 Pod만 돌아가게 해줌. 노드 하나에 여러개의 Pod을 띄울 수 있으나, one Pod per Node 추천. (리소스 관리, 간섭 통제 측면)
- CronJob: 특정 Job을 수행할 Pod을 잠깐 띄움.
그렇다면 one container per Pod이라는 것도 유효하지 않을까라고 생각해서 찾아보니 공식 문서에 one-container-per-Pod 용어가 대놓고 있었다. 이 역시 DaemonSet에서 얻을 수 있었던 이점과 동일한 장점을 가져가기 위함인 것 또한 알 수 있었다.
728x90
'Kubernetes' 카테고리의 다른 글
[k8s] 쿠버네티스를 위한 yaml 유효성 검사 세팅 (0) | 2024.06.11 |
---|---|
[k8s] hostPath와 emptyDir의 차이점 (0) | 2024.06.10 |
[k8s] 마스터, 워커 (0) | 2023.04.12 |
[k8s] 운영상 관점에서의 VM과 container. (0) | 2023.04.05 |
namespace, cgroups (0) | 2023.04.05 |
댓글