반응형

신규 인증서 생성,승인 이걸 하는 이유?

 - k8s는 tls 기반으로 각 component에 엑세스를 하기때문에,  새로 추가된 멤버(개발자)에게 k8s 접근하기 위해선 ceriticate을 필요함.

 

□ 순서 

1.개인key, csr 파일 생성
2. k8scsr object 생성( .yaml작성)
3. k8scsr 승인
 
 
1. 개인key,csr 파일 생성 
 - key 생성 
# key 생성
[node2 pki]$ openssl genrsa -out tam.key 2048
Generating RSA private key, 2048 bit long modulus
...................+++
.....+++
e is 65537 (0x10001)

 - csr파일 생성

## csr파일 생성,   "CN=tam" (CN은  하고싶은대로 하면 됨) 
[node2 pki]$ openssl req -new -key tam.key -subj "/CN=tam" -out tam.csr
[node2 pki]$ cat tam.csr
-----BEGIN CERTIFICATE REQUEST-----
MIICUzCCATsCAQAwDjEMMAoGA1UEAwwDdGFtMIIBIjANBgkqhkiG9w0BAQEFAAOC
<중략>
-----END CERTIFICATE REQUEST-----

2. k8s csr object 생성( .yaml작성)

  ① :   "CN=tam" 으로 생성했기때문에,  name: tam으로 하면 됨

  ② : request 값은   tam.csr을 base64 encoding 한 값을 넣으면 됨 

  -> tam.csr을 base64 encoding  은   base64 -w 0 명령으로 한줄로 뽑으면 편함

### base64 인코딩 한줄로 출력

[node2 pki]$ cat tam.csr | base64 -w 0
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVN

   

ex) csr.yaml 작성예시 

### vi로  yaml 파일 작성
vi tam-csr.yaml

apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
  name: tam
spec:
  request: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1V6Q0NBVHNDQVFBd0RqRU1NQW9 <중략>  
  signerName: kubernetes.io/kube-apiserver-client
  expirationSeconds: 86400  # one day
  usages:
  - client auth

3. k8s csr 승인

   ex) 

## create csr 
[node2 ~]$ kubectl apply -f tam-csr.yaml 
certificatesigningrequest.certificates.k8s.io/tam created




## 생성된 csr 확인 
[node2 ~]$ kubectl get csr
NAME   AGE   SIGNERNAME                            REQUESTOR          CONDITION
tam    35s   kubernetes.io/kube-apiserver-client   kubernetes-admin   Pending
 
## csr 승인 
[node2 ~]$ kubectl certificate approve tam   
certificatesigningrequest.certificates.k8s.io/tam approved

 

반응형

'클라우드 > K8S' 카테고리의 다른 글

[k8s]Node Drain - 2 (Pod)  (0) 2023.02.01
[k8s] security context 사용법(with multi-container)  (0) 2023.01.31
[k8s] k8s인증서 종류(openssl)  (0) 2023.01.26
helm 명령어  (0) 2023.01.02
[system log]failed to get system container stats  (0) 2022.12.19

+ Recent posts