[CKA] Kubernetes API 그룹
Kubernetes API 그룹의 핵심 개념과 구성 방법, 실습 풀이를 정리합니다.
어떤 작업을 하든 apiserver와의 상호 작용이 필요합니다.
쿠버네티스의 api 버전을 확인하고 싶을 때 기본적으로 6443 포트를 사용해서 version을 확인할 수 있습니다.
Pod에서 확인하려면 curl https://kube-master:6443/api/v1/pods 를 거쳐 사용하게 됩니다.
이때 주목해야할 것은 /api 입니다.
API Group
k8s는 목적에 따라 여러 그룹으로 그룹화되어 있습니다.
해당 문서에서는 cluster 기능과 관련된 API에 초점을 맞춰 사용합니다.
core 그룹과 named 그룹으로 존재하며 우선 core 그룹은 다음과 같습니다.
각 API에는 여러 구성들이 존재합니다.
쿠버네티스 API 참조 페이지를 통해 API 그룹을 알 수 있습니다.
- kube-apiserver에 아무런 경로 없이 엑세스하면 사용 가능한 api 목록을 얻을 수 있습니다.
- 하지만 직접 엑세스하는 경우 특정 API 버전을 제외하고 엑세스 불가능합니다.
- 인증 메커니즘을 지정하지 않았으므로 발생하는 에러로 인증서 파일을 이용해 API에 인증을 해야합니다.
- 인증 메커니즘을 지정하지 않았으므로 발생하는 에러로 인증서 파일을 이용해 API에 인증을 해야합니다.
curl http://localhost:6443 –k
—key admin.key
—cert admin.crt
—cacert ca.crt
```
- 다른 방법으로는
kubectl proxy8001 포트 를 사용한다면 굳이 명령에 자격 증명을 지정하지 않더라도 kubeconfig 파일의 자격 증명을 이용해 kube-apiserver로 요청을 전달할 수 있습니다. - kube proxy ≠ kubectl proxy 명령은 다릅니다. kubectl proxy ⇒ apiserver 엑세스를 위한 것입니다.