Cloud/Kubernetes
Kubernetes Object
yellowmarine
2020. 5. 11. 13:27
Object
What to do?
- 어떠한 어플리케이션이 동작/ 어떠한 노드에서 동작 중인가 체크
- 어플리케이션이 이용할 수 있는 리소스
- reboot, update, etc 에 대한 policy
- 끊임없이 내가 원하는 spec의 status가 되도록 요구하는 명세서와 같은 역할을 한다
Component
- 우리가 원하는 상태를 기술하는 spec 부분
- 기본적인 오브젝트를 생성 관리하는 controller 부분
- yaml, JSON 파일로 존재한다
- apiVersion, kind, metadata, spec 등을 기본적으로 요구
- apiVersion - 이 오브젝트를 생성하기 위해 사용하고 있는 쿠버네티스 API 버전이 어떤 것인지
- kind - 어떤 종류의 오브젝트를 생성하고자 하는지
- metadata - 이름, 문자열, UID, 그리고 선택적인 네임스페이스를 포함하여 오브젝트를 유일하게 구분지어 줄 데이터
- spec - 오브젝트에 대해 어떤 상태를 의도하는지
Pod
- 쿠버네티스 어플리케이션의 기본 실행 단위
- 컨테이너, 리소스, 네트워크 IP등 여러 동작옵션들을 캡슐화한다.
- 다중 컨테이너를 포함할 경우 같은 IP와 port를 공유 -> 로컬 토신 가능
- 컨테이너끼리 볼륨 공유가 가능 -> 다른 파일 읽을 수 있음
Service
- pod의 배포를 책임지는 부분
- pod의 논리적인 집합과 이것을 연결시키는 정책을 추상화 함
- 특정 pod과 특정 서비스를 label sector를 통해 연결 시켜준다
Namespace
- 한 쿠버네티스 클러스터내의 논리적인 분리단위라고 볼 수 있다.
- 절대적으로 물리적인 환경 분리가 아니다