본문 바로가기
Cloud Native/Kubernetes

3. Accessing API - Overview

by jys275 2026. 1. 27.

쿠버네티스의 심장이라 할 수 있는 API 서버 접근(Accessing API)에 대해 알아보자. 클러스터의 모든 자원 관리와 제어는 결국 이 API 서버를 통하는 통로를 어떻게 설계하고 보안을 유지하느냐에 달려 있다.


 

 

1. API 서버의 역할과 기본 접근법

  • 중앙 통제실: 마스터 노드에 위치한 API 서버는 쿠버네티스 자원을 생성하거나 조회할 수 있는 유일한 경로다.
    • kubectl 활용: 우리가 흔히 사용하는 CLI 도구인 kubectl 또한 이 API 서버에 접근하여 정보를 가져오는 방식이다.
    • 보안 접근 (HTTPS): 기본적으로 인증서를 가진 사용자만 HTTPS를 통해 보안 접근이 가능하다.
    • 프록시 접근 (HTTP): 관리자가 kubectl proxy 명령을 실행해 준 경우, 인증서 없이 HTTP로 간편하게 접근할 수 있다.

 

2. 접근 주체에 따른 계정 구분

쿠버네티스는 보안 사고를 방지하기 위해 '누가' 접근하느냐에 따라 계정을 엄격히 분리한다.

  • 유저 어카운트 (User Account): 실제 사용자(사람)가 API 서버에 접근할 때 사용하는 계정이다.
    • kubeconfig 설정을 통해 외부 PC에서도 클러스터 하나도 아닌 여러개의 클러스터를 관리할 수 있다.
  • 서비스 어카운트 (Service Account): 파드(Pod) 내부의 프로세스가 API 서버에 접근할 때 사용하는 계정이다.
    • 모든 파드가 무분별하게 클러스터 정보를 뒤지는 것을 막기 위한 필수 장치이다.
    • 필요시 외부에서도 사용 가능하다.

 

3. API 요청 처리의 3단계 (보안 레이어)

하나의 API 요청이 성공하기 위해서는 다음의 관문을 모두 통과해야 한다.

  1. Authentication (인증): "당신은 누구인가?"를 확인하는 단계다. 유저 또는 서비스 어카운트를 식별한다.
  2. Authorization (권한 부여): "당신이 이 작업을 할 자격이 있는가?"를 확인한다. 예를 들어 B 네임스페이스의 파드가 A 네임스페이스의 자원을 조회해도 되는지 등의 작업 자격을 확인/결정한다.
  3. Admission Control (어드미션 컨트롤): "요청한 내용이 정책에 맞는가?"를 체크한다. 관리자가 PV 용량을 1GB로 제한했다면, 그 이상의 요청이 들어왔을 때 이를 거부하고 수정하는 역할을 한다.

 

 

위 학습용 정리 내용 및 사진 자료는 "인프런_대세는 쿠버네티스(https://inf.run/Lv5RV)" 강의를 소스로 작성하였습니다