각 Object의 역할과 구성 요소 설명
- 각 오브젝트는 하나의 클러스터로 구성됨
- 오브젝트를 Namespace로 그룹화 할 수 있음
- 각 오브젝트들은 namespace, label, selector와 같은 메타데이터가 들어감
- 각 레벨마다 오브젝트가 있으며 서로 영역 침범 불가능
- 예를 들어 Deployment를 클러스터 레벨 오브젝트에 넣기 불가능
- 오브젝트의 name은 중복 하면 안됨
- Deployment
- Pod 배포 및 업그레이드
- replicas, strategy, template 등이 들어감
- Service
- PVC
- Configmap
- Secret
- HPA
- PV
- 영구적인 데이터 저장 (볼륨 마운트 관련 기능)
Object 네이밍 방법
- part-of는 전체를 나타낼 수 있는 이름
- component는 구성요소(기능)을 나타내는 이름
- name은 어플리케이션 이름
- instance는 해당 instance 이름으로 주로 name + instance로 하는 경우가 많음
- version은 해당 버전을 나타내는 이름으로 어플리케이션 배포 때마다 바뀌어야 함
Selector의 기능과 각 오브젝트 작동 설명
- Deployment로 Pod 업데이트 관리
- Deployment에서 생성을 시키면 ReplicaSet이 만들어지고 이것이 Pod의 복제본을 관리함 (만약 Pod 중 하나가 삭제 되더라도 ReplicaSet에서 관리하여서 복구 시킴)
- Selector와 label로 오브젝트들을 연결 시킴
- 인스턴스 이름만으로도 보통 가능하기에 괜찮음
- object 내에서 대상을 연결하는 속성으로 연결도 가능
- 전체적으로 보면 각 오브젝트들을 연결 시킬 수 있고 Cluster와 Master Node도 label과 selector를 통해 연결이 됨
출처: https://inf.run/7dm3q