개요
k8s에서 제공하는 apiserver의 api 그룹과 api 사용 시 필요한 인증을 알아보겠습니다.
API 그룹
k8s에서는 cluster관리를 위해서 다양한 API를 제공합니다. 그리고 이러한 API를 용도에 맞게 분류해 놓았습니다. https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#api-overview
API 그룹 확인
kubectl proxy를 사용하여 proxy server를 뛰우고 해당 server를 이용하여 현재 k8s가 지원하는 api group을 확인할 수 있습니다.
kubectl proxy 뛰우기
#kubectl proxy
Starting to serve on 127.0.0.1:8001
지원 API 확인
curl http://127.0.0.1:8001
지원 group 설명
쿠버네티스 (K8s) API는 여러 API 그룹 구성되며, 각 그룹은 특정 기능 또는 정보를 제공합니다. 주어진 그룹에 대한 간략한 설명은 다음과 같습니다:
api
쿠버네티스의 기본 API 그룹입니다. 이 그룹에는 핵심 리소스가 포함되어 있으며, 버전은 `v1`입니다. 예를 들면, Pods, Services, Nodes 등의 리소스가 여기에 포함됩니다.
apis
이 엔드포인트는 모든 사용 가능한 API 그룹의 목록을 반환합니다. 쿠버네티스는 확장성을 위해 여러 API 그룹을 지원합니다.
"엔드포인트(Endpoint)"란 API 서버가 제공하는 특정 기능이나 리소스에 접근할 수 있는 URL을 의미합니다.
예시로 보는 엔드포인트:
- /api/v1/namespaces/{namespace}/pods: 특정 네임스페이스 내에서 파드 목록을 조회하거나 파드를 관리하는 엔드포인트.
- /apis/apps/v1/deployments: Deployment 리소스를 생성, 조회, 업데이트, 삭제할 수 있는 엔드포인트.
- /apis: 확장 API 그룹 또는 Custom Resource Definitions (CRDs)를 관리하는 엔드포인트.
healthz
클러스터의 건강 상태를 체크합니다. healthz API에 대한 요청이 성공하면 클러스터는 정상일고 판단됩니다.
livez
클러스터의 생존성(liveness)을 체크하는 그룹 입니다. livez API는 API 서버가 현재 실행 중인지 확인하는 데 사용됩니다.
logs
클러스터 내의 로그를 가져오는 그룹 입니다.
metrics
클러스터의 메트릭 데이터를 제공하는 그룹입니다. 이를 통해 클러스터의 성능과 리소스 사용량을 모니터링할 수 있습니다.
openapi
OpenAPI 스펙을 제공하는 그룹입니다. 이 스펙은 API 문서화 및 클라이언트 생성을 위한 표준입니다.
openid
OpenID Connect를 지원하기 위한 그룹입니다. 이는 사용자 인증에 사용됩니다.
readyz
클러스터의 준비 상태를 체크하는 그룹입니다. readyz 그룹은 API 서버가 요청을 처리할 준비가 되었는지 확인하는 데 사용됩니다.
version
쿠버네티스 클러스터의 버전 정보를 제공하는 API입니다.
정리
k8s에서 k8s 제어를 위한 다양한 API를 제공합니다.
Next Post
'Cloud > k8s-CKA' 카테고리의 다른 글
[CKA] 42. service account (0) | 2023.11.04 |
---|---|
[CKA] 41. Authorization (권한부여) (0) | 2023.10.28 |
[CKA] 39. kubeconfig 구조 분석 및 관리 (0) | 2023.10.26 |
[CKA] 38. k8s에서 사용자 추가 및 권한 제어 (0) | 2023.10.15 |
[CKA] 37. k8s에서의 상호 인증 원리 (0) | 2023.10.13 |