[CKS] 1-6. TLS in k8s

내부 통신에 인증서를 적용하여 데이터를 보호하고, 안전한 서비스 운영 환경을 구축하는 방법

[CKS] 1-6. TLS in k8s
Photo by Ian Taylor / Unsplash

개요

TLS를 활용하여 쿠버네티스안에서 클러스터를 보호하는 방법을 확인합니다.

k8s 접근을 위한 TLS 연결 설정

k8s 클러스터 내의 각 구성 요소 간의 통신을 안전하게 통신하기 위해선 TLS 연결은 필수적입니다. 실제로 클러스터 관리자 뿐만 아니라 내부 서비스 같은 모든 구성 요소들의 상호작용은 TLS 보안 연결을 기반으로 하고 있으며 주요 요구사항은 다음과 같습니다.

클러스터 내의 모든 서비스가 인증서를 사용할 수 있어야하며, 모든 클라이언트가 클라이언트 인증서를 사용하여 자신을 증명해야합니다.

1. Server Certificates for Servers

  • kube-api
  • etcd
  • worker node - kubelet

2. Client Certificates for Clients

  • admin (kubectl)
  • kube-scheduler
  • kube-controller-manager
  • kube-proxy
  • kubelet
  • etcd

클라이언트/서버 역할을 동시에 수행한다면 두 가지 인증서가 필요합니다.

또한 인증서를 수행하기 위한 최소 하나의 인증 기관(CA)도 필요합니다.

Reference