-
[Kubernetes] API Conventionprograming/etc 2020. 3. 18. 17:00
Terms
쿠버네티스에서 사용하는 특정 단어들의 정의를 설명합니다.
Kind
특정 객체의 스키마를 의미합니다.
카인드는 카멜케이스에 단수형입니다. ex) Pod
Resource
시스템 엔티티를 가리킵니다. JSON형식으로 HTTP를 통해 서버에 전송하거나 받을수 있습니다.
리소스는 다음 두가지 분류가 있습니다.
Collections
동일한 타입의 리소스들의 목록입니다. 콜렉션은 쿼리가 가능합니다.
콜렉션은 소문자에 복수형입니다. ex) pods
Elements
개별적인 리소스입니다. URL을 통해 주소 지정이 가능합니다.
API Group
함께 노출되는 리소스들의 집합입니다. JSON형식에서, apiVersion이라는 필드에 "GROUP/VERSION"형식으로 표현됩니다.
여기서 GROUP은 소문자에 유효한 DNS 서브도메인입니다. ex) *.k8s.io
Types (Kinds)
카인드는 세가지 분류로 나뉘어집니다.
Objects
오브젝트는 시스템에서 지속성 있는 엔티티를 나타냅니다.
오브젝트를 만드는 것은 의도를 기록하는 행위입니다. 한번 오브젝트가 생성되면, 시스템은 해당 오브젝트를 사용자가 의도한 대로 유지되도록 관리합니다.
오브젝트는 클라이언트가 CRUD할 수 있는 여러 리소스들을 가집니다.
오브젝트의 예시에는 Pod, Service, Node 등이 있습니다.
Lists
리스트는 "하나 이상의 카인드의 리소스들"의 집합입니다.
리스트는 항상 이름이 "List"로 끝납니다.
리스트는 items라는 필드를 가지며, 해당 필드에 오브젝트 배열을 값으로 가집니다.
리스트의 예시에는 PodList, ServiceList, NodeList 등이 있습니다.
Simple
심플은 오브젝트와 지속성 없는 엔티티에 대한 특정 액션들을 사용하기 위해 사용됩니다. 예를 들어, Status라는 카인드는 에러가 발생했을 때 반환되며, 지속성이 없습니다.
참고
'programing > etc' 카테고리의 다른 글
부스트 캠프 멤버십 특강 - 코드리뷰 (0) 2021.02.13 [Git] GitHub과 연동할 때 인증 정보 포함시키는 방법 (0) 2020.06.03 [kubernetes] 쿠버네티스 - 쿠버네티스 오브젝트 이해하기 (0) 2020.02.17 [개발환경] 개발 환경에 뭘 써야 할까? (0) 2019.12.16 [Github] README에 뱃지 달기 (0) 2019.12.06 댓글