-
Kubernetes에서 수동으로 사용자 인증서와 Context 만들기K8S 2023. 12. 29. 19:23
이번 포스팅은 쿠버네티스 클러스터와 상호작용하는 사용자나 서비스에 대한 인증 정보를 수동으로 생성하고 설정하는 과정에 대해서 다룬다.
K8S API를 통해 사용자 인증서를 생성하는 방법을 알고 싶다면, 다음을 참고한다.
1. 사용자 키 생성
사용자의 개인 키를 생성하기 위해 OpenSSL을 사용한다.
이 키는 사용자의 인증서를 생성하는 데 사용된다.
openssl genrsa -out test-user.key 2048
2. CSR(인증서 서명 요청) 생성
생성된 키를 사용하여 CSR을 생성한다.
그리고 CSR을 생성할때 Common Name(CN)을 설정하는데
이는 쿠버네티스 클러스터에서 사용자를 식별하는 데 사용되기 때문에 Common Name(CN)을 test-user로 설정한다.
openssl req -new -key test-user.key -out test-user.csr # Common Name에 'test-user' 입력
3. 사용자 인증서 생성
CSR과 쿠버네티스 클러스터의 CA(인증 기관) 인증서 및 키를 사용하여 사용자 인증서를 생성한다.
이 인증서는 사용자가 클러스터와 안전하게 상호작용할 수 있도록 한다.
openssl x509 -req -in test-user.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out test-user.crt -days 500
4. 쿠버네티스 컨텍스트 등록
생성된 키와 인증서를 사용하여 쿠버네티스 컨텍스트를 등록한다.
k config set-credentials test-user --client-key=test-user.key --client-certificate=test-user.crt k config set-context test-user-context --cluster=kubernetes --user=test-user
5. 컨텍스트 조회 및 사용등록된 컨텍스트를 조회하고, 원하는 컨텍스트를 활성화한다.
k config get-contexts # 등록된 컨텍스트 목록 조회 k config use-context test-user-context # test-user-context 컨텍스트 사용
6. 네임스페이스 조회 시도
활성화된 컨텍스트로 네임스페이스를 조회한다.
이 때, 사용자 test-user는 아직 클러스터에서 네임스페이스를 조회할 권한이 없어 조회가 실패하지만,
올바른 사용자 이름이 반환되는 것을 확인할 수 있다.
k get ns
반응형'K8S' 카테고리의 다른 글
Kubernetes NodeRestriction 플러그인 (0) 2023.12.30 Kubernetes API 이용해서 사용자 인증서 및 Context 만들기 (0) 2023.12.30 K8S 빠른 CLI 커맨드 정리 (0) 2023.12.29 Kubernetes의 역할 및 바인딩 조합 이해 (0) 2023.12.29 Kube-bench 정리 및 사용 예시 (0) 2023.12.29