본문 바로가기
네트워크/k8s

[k8s] 28. Accessing API - Overview

by Lauren X Ming 2021. 2. 21.

Access to the Kubernetes API 개요

Authentication

  • 마스터 노드에 Kubernetes API Server가 있음
  • Kubernetes API Server를 통해서만 쿠버네티스의 자원을 만들거나 조회할 수 있음
  • kubectl을 통해 CLI로 자원을 조회할 수 있는 것도 Kubernetes API Server에 조회해서 정보를 가져오는 것
  • 외부에서 Kubernetes API Server로 접근하려면 인증서를 가지고 있는 사람만 https 접근 가능
  • 내부관리자가 kubectl 명령어로 proxy를 열어주면 인증서 없이 http로 접근 가능
  • kubectl은 Master Node에만 설치할 수 있는게 아니라 외부 PC에서도 설치 가능
  • Config 기능을 활용하면 쿠버네티스 클러스터가 여러 대 있을 때, 내가 접근할 수 있는 클러스터의 연결상태 유지
  • 연결이 된 상태에서 kubectl get으로 쿠버네티스 클러스터에 있는 파드 정보를 가져올 수 있음
  • 이러한 Kubernetes API Server접근 방식을 User Account라 함
  • 파드 입장에서 Kubernetes API Server에 함부로 접근 못함
  • Service Account를 통해 파드가 Kubernetes API Server에 접근할 수 있음
  • 결국 쿠버네티스는 User Account와 Service Account로 사용자, 파드가 Kubernetes API Server에 접근할 수 있음
  • Service Account로도 외부에서 접근할 수 있음

Authorization

  • Namespace B가 Kubernetes API Server의 Authentication이 있다고 해서 Namespace B를 조회할 수 있을까?
  • 권한여부에 따라 가능할 수도 아닐 수도 있음 이러한게 Authorization

Admission Control

  • PV를 만들 때, 관리자가 용량을 1G 이상으로 만들지 못하도록 했다면
  • 파드를 만들라는 API 요청이 들어오면 쿠버네티스는 설정된 용량을 넘지 못하도록 확인해야 함
  • 이런게 Admission Control인데 강의에서 안 다룰 예정 ^~^

Dashboard

  • 이전에 대시보드 설치는 프록시를 통해 대시보드에 접근하고 로그인을 SKIP 했음
  • 이건 보안적으로 좋지 않아서 인증서를 가지고 직접 API 서버를 통해 대시보드에 접근하고 로그인하도록 할 예정

출처

인프런 - 대세는 쿠버네티스