사용자가 쿠버네티스의 API에 접근하려면 인증을 거쳐야 함
외부에서 쿠버네티스의 API에 접근할 수 있는 기본 포트는 6443, TLS 인증이 적용되어 있음
6443 포트에 접근해 통신하려면 kube-apiserver에 있는 인증서와 클라이언트에 있는 인증서 사이의 검증을 통과해야 함.
쿠버네티스의 인증 요청 계정
여태 kubectl 설치 후 명령어를 사용할 수 있었던 이유는 kubectl 설정에 TLS 인증 정보가 포함되었기 때문
~/.kube/config 파일 내용
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: # 인증 해시 값
server: <https://kubernetes.docker.internal:6443> # 외부에서 접속할 주소
name: docker-desktop # 클러스터 이름
contexts:
- context:
cluster: docker-desktop
user: docker-desktop
name: docker-desktop
current-context: docker-desktop # 여러 컨텍스트 사이 현재 컨텍스트
kind: Config
preference: {}
users:
- name: docker-desktop
user:
client-certificate-data: # 해시 값
client-key-data: # 키 해시값
인증 후에는 사용자가 접근하려는 API를 사용할 권한이 있는지 확인한 후 API를 사용 가능
쿠버네티스의 권한 관리 방법
특정 API나 자원 사용 권한들을 명시해둔 규칙의 집합
종류