DevOps/K8S

『K8S』 API Service란?

라즐리 2024. 9. 23. 01:31

K8S에 존재하는 API서비스란?

k8s에는 APIService라는 리소스가 존재한다.

이는 metrics-server 같은 확장 API 서버를 쿠버네티스 API에 등록(aggregation)해주는 역할을 한다.

예를 들어 kubectl top이 동작하는 것도 v1beta1.metrics.k8s.io라는 APIService가 요청을 metrics-server로 넘겨주기 때문이다.

 

상세한 API를 사용하는 기본 컴포넌트 서비스들은 아래 사이트에서 확인이 가능하다.

https://kubernetes.io/ko/docs/concepts/overview/components/

 

쿠버네티스 컴포넌트

쿠버네티스 클러스터는 컴퓨터 집합인 노드 컴포넌트와 컨트롤 플레인 컴포넌트로 구성된다.

kubernetes.io

 

중복되면 어떻게 되는가?

일반적으로 helm차트를 통해서 관리가 되는 기업들의 특성상 

개인적으로 생성한 API Service의 경우 helm chart는 같은 Annotation을 가지고 있게 될 경우 소유권을 검사하게 된다.

helm chart가 보았을때 이미 존재하고 있는 Annotation에 다른 Namespace등

자신이 생성하려는 Key값의 다른 소유권한이 선언이 되어있다면 오류를 뱉는다.

 

결론

즉, Annotation등의 관리도 DevOps를 담당하는 부서에서 함께 가져가야한다.

이는 관리하기 어렵기 때문에 하나의 부서에서 주관해서 가져가는 것이 올바른 방향일 것으로 보인다.

 

출처

https://www.redhat.com/ko/topics/containers/what-is-the-kubernetes-API

https://kubernetes.io/ko/docs/tasks/extend-kubernetes/setup-extension-api-server/

 

틀린 내용이 있다면 댓글 부탁드립니닷..!