티스토리 뷰

api groups는 api resource들을 묶어놓은 group을 의미합니다.

  • api resources는 또 무엇이냐구요? pods, services, jobs 등 kubernetes에서 사용하는 resources를 의미합니다.

 

kubernetes의 기본을 배우면서 api groups를 사용한 적이 있을까요?

  • 위 질문이 떠올랐다면, 아마 api groups의 의미를 모르시고 사용하셨을 겁니다.
  • 보통 kubernetes resource yaml에서 맨 첫 번째 들어가는 apiVersion 에 명시가 되거든요.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: replica-pvc
spec: ...
  • 위 예시 yaml에서 apiVersion에 명시된 apps가 api group입니다.

 

  • Q) pod, service 같은 것들을 정의할 땐, 단순히 apiVersion: v1 이라고 하는데요?
    • 네, 맞습니다. core api에 해당하는 resources들은 group을 작성하지 않아도 됩니다.
    • 이러한 core api에는 pod, service, pv, pvc, node, namespace, configmap, endpoint 등이 있습니다.
  • Q) 그럼 어떤게 api group이 있는데요?
    • 엄청 다양하게 존재합니다. 쉽게 사용하는 것으로는 deployment, replicaset, statefulset 등 의 경우엔 apps 라는 api group으로 묶여져 있습니다. 또한, rbac resource로 사용되는 role, roleBinding, clusterRole, clusterRoleBinding 의 경우엔 rbac.authorization.k8s.io 라는 api group에 있습니다.
    • 기본 kubernetes api resources를 제외하고도 istio 같은 외부 resources를 사용하게 되면 기존에 보시던 것과 다른 api groups을 가지는 걸 볼 수 있습니다.
  • Q) 그럼 특정 resources가 어떤 api group인지 어떻게 알 수 있나요?
    • 현재 클러스터의 모든 resources에 대해 api group을 확인하기 위해선 kubectl api-resources -o wide 를 사용하시면 됩니다.
    • 예시 출력은 이 글을 참조해주세요.
320x100
반응형
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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 31
글 보관함