[Cluster Setup and Hardening] 클러스터 인증서 생성하기: OpenSSL을 활용한 방법

IMKUNYOUNG·2024년 7월 5일
0

CKS

목록 보기
9/70

이번 글에서는 Kubernetes 클러스터 내에서 사용되는 인증서를 생성하는 과정에 대해 소개합니다. 이 과정은 Kubernetes 클러스터의 각 구성 요소가 서로를 신뢰하고 안전하게 통신할 수 있도록 보장하는 중요한 단계입니다.

1. CA 인증서 생성

먼저, CA (Certificate Authority) 인증서를 생성합니다. CA 인증서는 클러스터 내에서 발급될 모든 인증서의 근본이 되는 역할을 합니다.

openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -subj "/CN=Kubernetes-CA" -days 3650 -out ca.crt

위 명령어를 통해 CA의 개인 키(ca.key)와 자체 서명된 루트 인증서(ca.crt)를 생성합니다.

2. 관리자(admin) 사용자 인증서 생성

다음으로, 클러스터 관리자(admin)를 위한 인증서를 생성합니다. 이 인증서는 클러스터 관리 작업에 사용됩니다.

openssl genrsa -out admin.key 2048
openssl req -new -key admin.key -subj "/CN=kube-admin" -out admin.csr
openssl x509 -req -in admin.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out admin.crt -days 365

3. 다른 클라이언트 및 서버 인증서 생성

이와 같은 방식으로, kubelet, kube-api 서버, etcd 등 클러스터 내 모든 구성 요소를 위한 인증서를 생성할 수 있습니다. 각각의 구성 요소에 맞는 CN(Common Name)을 지정하여 인증서를 생성하고 서명합니다.

4. 인증서 사용

생성된 인증서는 각 구성 요소의 설정 파일에 포함되어야 합니다. 예를 들어, kubelet은 kubelet-config 파일에서 사용할 인증서와 CA 인증서를 지정합니다. 마찬가지로, kube-api 서버는 etcd와의 통신에 필요한 클라이언트 인증서를 설정 파일에 지정합니다.

마무리

Kubernetes 클러스터의 각 구성 요소가 안전하게 통신하고 인증할 수 있는 인증서를 생성하는 방법을 살펴보았습니다. OpenSSL을 사용하여 개인 키와 CSR을 생성하고, CA 인증서를 사용하여 인증서를 서명하는 과정은 중요하며, 구성 파일을 통해 다양한 구성 요소의 인증서에 대한 정보를 제공하는 것이 필요합니다. 이는 Kubernetes 클러스터 보안 설정의 중요한 부분입니다.

0개의 댓글