A new member akshay
joined our team. He requires access to our cluster. The Certificate Signing Request is at the /root
location.
Create a CertificateSigningRequest
1. Create a CertificateSigningRequest object with the name akshay
with the contents of the akshay.csr
file
As of kubernetes 1.19, the API to use for CSR is certificates.k8s.io/v1
.
Please note that an additional field called signerName
should also be added when creating CSR. For client authentication to the API server we will use the built-in signer kubernetes.io/kube-apiserver-client
.
Use this command to generate the base64 encoded format as following:
cat akshay.csr | base64 -w 0
Finally, save the below YAML in a file and create a CSR name akshay
as follows:
--- apiVersion: certificates.k8s.io/v1 kind: CertificateSigningRequest metadata: name: akshay spec: groups: - system:authenticated request: <Paste the base64 encoded value of the CSR file> signerName: kubernetes.io/kube-apiserver-client usages: - client auth
kubectl apply -f akshay-csr.yaml
2. Approve the CSR Request
Run the command kubectl certificate approve akshay
3. How many CSR requests are available on the cluster?
Run the command kubectl get csr
4. Reject that request.
Run the command kubectl certificate deny agent-smith
5. Delete the new CSR object
Run the command kubectl delete csr agent-smith