Kubernetes 환경에서 인증서를 어떻게 관리하는지, 그리고 Certificate API의 역할에 대한 설명.
CertificateSigningRequestkubectl get csr 명령어로 전체 CSR 조회 가능kubectl certificate approve <CSR_NAME> 명령어로 CSR 승인 처리# akshay-csr.yaml
apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
name: akshay
spec:
groups:
- system:authenticated
request: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1ZqQ0NBVDRDQVFBd0VURVBNQTBHQTFVRUF3d0dZV3R6YUdGNU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRgpBQU9DQVE4QU1JSUJDZ0tDQVFFQW9yOWlrOTF5MlZ4VlNpR1lKaWxYV1BBaHBNUkcwdjJWQ0k3Lzhrb2RkOXNqClNKSTJ5QkJxUFl4M3NXZWJaZjdQYXhCMlY4N1pLNXV0YjBtaFo3RlR1a1ZkR2JFS01ubWNxTi9FRFdhdzhkY1IKTnJYVlRoS2FHZEhtL0hSd3MwNjVvRHV2bDBmV1pxUEZkd2QrVzFVbnhjM2dCREZubm1NVlNsdUp4eXZUVno0cAovQ1RkVnF3ck5TWWlyM2doMDM1cWdCcDdpZ0xZcTBPUHd1Nis3R0lGYVBsdHkrUTdzNGx2VjFGVUtUSi8yRC9uCjg2ZVI4TnNpVmJRZi8xK0pJQm5CL1UvSFBiWWtvbWtlQVhlWXlGMnZ0dUpaVGFROVRNZU1Ma1pySWx2WjN2THMKSVY3WTE4VmswTFhQVElhWFdEdDlJUTFSNUpwUEVHeURWWFJmaVdmdHVRSURBUUFCb0FBd0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnRUJBQjJTQW5LYXFPUG9FYWR4Q2ExS2ViS1U0Y1VJenJaQmFTQ2N0QS9RWmxXVHFUVkRkdjRMCmVmYXYxYm5ENjVsQWxraENlbEU5Z1o4bkxwR3FlVnFvQ0JmcU9mZnlpTXpVTDF2V29saXgyQ2UxMUIrdldnUEsKUk0wclYvVXdXSDVpTmdXOHRKeHhtT29tZ3lXRkp3RHE0OENxaXRNUVVpWXAyY2tnSElnZ1hmd01od3hHVFdHSAplOTZqY2t4YzA4QVhVejR2UG8zaXc0ZkptOEUzODI4Uy9HWHVDMU1YMUpWalR3L1NwUmJvWUdSdDVmUzlXMTJGCjBnZGZUQXpJOU14aGZiZHgzRmkyakZiSFEvU1BRUlI3UHpNSi9OYUM2M3EvYjhLZUk0QlRkR1huZ3NQVnpRR28KTnlhdko1MHBsaFdQdmdCQ0JZV0tSTFhQTk9WRi9NeVEvQkE9Ci0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQo=
signerName: kubernetes.io/kube-apiserver-client
usages:
- client auth
$ cat <name.yaml> | base64 -w 0
$ kubectl get csr
$ kubectl certificate approve <name>
$ kubectl certificate deny <name>
$ kubectl delete csr <name>