-
Kubernetes에서 수동으로 사용자 인증서와 Context 만들기K8S 2023. 12. 29. 19:23
이번 포스팅은 쿠버네티스 클러스터와 상호작용하는 사용자나 서비스에 대한 인증 정보를 수동으로 생성하고 설정하는 과정에 대해서 다룬다.
K8S API를 통해 사용자 인증서를 생성하는 방법을 알고 싶다면, 다음을 참고한다.
Kubernetes API 이용해서 사용자 인증서 및 Context 만들기
이번 포스팅은 Kubernetes API를 이용해서 사용자나 서비스에 대한 인증 정보를 생성하고 설정하는 과정에 대해서 다룬다. 수동으로 설정하는 방법은 다음 포스팅을 참고한다. Kubernetes에서 수동으
seungjuitmemo.tistory.com
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