Introduction
Public Key 기반 구조(PKI)는 쿠버네티스에서 중요한 역할을 하며, 클러스터 내 다양한 구성 요소 간의 안전한 통신을 보장한다. PKI의 핵심에는 인증 기관(CA)이 있으며, 이는 인증서를 발급하고 검증하는 기관이다. 이러한 인증서는 쿠버네티스 구성 요소가 서로를 인증하고 검증할 수 있도록 하여 클러스터 전반에 걸쳐 안전한 상호 작용을 보장하게 한다.
CA (Certificate Authority) 의 역할
- 인증서 발급: CA는 클러스터 내 다양한 구성 요소(APIServer, kubelet, 스케줄러 등)에게 인증서를 발급한다.
- 인증서 서명: CA는 모든 인증서에 서명하여, 통신 당사자의 신뢰성을 보장하는 신뢰 체인을 형성한다.
- 검증: 쿠버네티스 구성 요소는 CA를 사용하여 상대방의 신원을 검증한다.
Cluster 내 주요 인증서
- CA 인증서: 모든 인증서의 루트로, 클러스터 내 다른 모든 인증서의 서명을 담당한다.
- API Server 인증서: API Server가 자신을 증명하는 데 사용한다.
- etcd 서버 인증서: etcd 서버가 자신을 증명하는 데 사용한다.
- API → etcd 인증서: API Server가 etcd와 통신할 때 사용한다.
- API → kubelet 인증서: API Server가 kubelet과 통신할 때 사용한다.
- Scheduler → API 인증서: 스케줄러가 API Server와 통신할 때 사용한다.
- Controller Manager → API 인증서: 컨트롤러 매니저가 API Server와 통신할 때 사용한다.
- kubelet → API 인증서: kubelet이 API Server와 통신할 때 사용합니다.
- kubelet 서버 인증서: kubelet 서버가 자신을 증명하는 데 사용합니다.
인증서 파일 위치 찾기
쿠버네티스 클러스터에서 인증서 파일을 찾고 관리하는 방법을 살펴보겠습니다. 다음 명령어들은 각 구성 요소의 인증서 파일 위치를 찾고, 이를 확인하는 데 사용됩니다.
1. /etc/kubernetes/pki 디렉토리로 이동
cd /etc/kubernetes/pki
/etc/kubernetes/pki 디렉토리로 이동합니다. 이 디렉토리는 쿠버네티스의 주요 인증서 파일들이 저장되는 기본 위치입니다.
ll
이 명령어는 현재 디렉토리(/etc/kubernetes/pki)의 내용을 목록으로 표시합니다. 인증서 파일들과 그 권한, 소유자, 생성 날짜 등을 확인할 수 있습니다.
2. etcd 디렉토리 내용 확인

ll etcd/
4. Scheduler 설정 파일 열기

vim /etc/kubernetes/scheduler.conf
5. Controller Manager 설정 파일 열기

vim /etc/kubernetes/controller-manager.conf
이 파일에는 Controller Manager의 구성 요소가 사용하는 인증서와 관련된 설정이 포함되어 있다.
6. kubelet 설정 파일 열기

vim /etc/kubernetes/kubelet.conf
7. /var/lib/kubelet/pki 디렉토리로 이동

cd /var/lib/kubelet/pki
이 디렉토리는 kubelet 구성 요소의 인증서 파일들이 저장되는 위치이다.
결론
PKI와 CA는 쿠버네티스 클러스터의 보안을 유지하는 데 중요한 역할이다. CA는 모든 구성 요소의 인증서를 발급하고 서명하며, 이를 통해 클러스터 내에서 안전하고 신뢰할 수 있는 통신을 보장한다. 인증서 파일의 정확한 위치를 알고 관리하는 것은 클러스터의 보안을 유지하는 데 필수적이다.
위와 같은 명령어들은 쿠버네티스 클러스터에서 각 구성 요소가 사용하는 인증서 파일들을 찾고 확인하는 데 매우 유용하다. 각 인증서 파일의 위치를 알고 관리하는 것은 클러스터의 보안을 유지하는 데 중요하다.
'DevOps > k8s' 카테고리의 다른 글
[CKS] Google Cloud로 Master Node와 Worker Node 구성하는 방법 (0) | 2024.06.25 |
---|---|
[CKS] 이론편 : Kubernete Security 기본 개념 (3) | 2024.06.19 |
[K8s] 쿠버네티스에서의 헬스체크 LivenessProbe, ReadnessProbe (2) | 2024.06.18 |
[K8s] AWS Karpenter를 통해 EKS 클러스터 효율적으로 관리하기 2편_워크로드 배포 (2) | 2024.06.14 |
[K8s] AWS Karpenter를 통해 EKS 클러스터 효율적으로 관리하기 1편_기본 구성 (2) | 2024.06.14 |