Hi Team,
I am not sure why the question mentioned below is marked as false in the Test results. Kindly assist. Thanks!
Q:
Create a new user called john. Grant him access to the cluster. John should have permission to create, list, get, update and delete pods in the development namespace . The private key exists in the location: /root/CKA/john.key and csr at /root/CKA/john.csr.
Important Note: As of kubernetes 1.19, the CertificateSigningRequest object expects a signerName.
Please refer to the documentation to see an example. The documentation tab is available at the top right of the terminal.
Answer :
- YAML to create for CSR
apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
name: john-developer
spec:
request: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1ZEQ0NBVHdDQVFBd0R6RU5NQXNHQTFVRUF3d0VhbTlvYmpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRApnZ0VQQURDQ0FRb0NnZ0VCQUxJSmVtVERnMUdVSGZFdVlJd2NaWG9ZdEtNbmhuRWhHTE90Mnh2cEgzc3RTSkd2ClZJbFpvcmkxS0JOOEJBQWkzTzREQWp2eXV1VGpDS2dSY1RYN1lqbWlwR044OW5XMEE1MUVJdmZuMUk4UGFyQnQKUVRZZ0YxazFEbENyL1RiMmZGTkxob1Y5UU4yT0ZmTGp5djFtUURUWjhhWHd4VVBKUVRneUV6UEdhT3NJNEpiegpybEd0alI4Tlp5NTVLUHc1c0ZYQ1BOV1JkLzZLblFhYmFFeno2Yk1jeWlWd1I4SVlMbEhLN1dkcUlvbjEwUzNVCm1vWnU1ZjRmM1ZMR1Y3b0NwbzlQcEtHdDNoaVpseS9qT3FCOTdPZXYwTmJRUE9JQ1NXelRLUmJFMm5tMkxrOXQKcmZtdFdCci9UblRTTVBwSWxpRmpTL05tUHlBUkJac3hnNVNCRTI4Q0F3RUFBYUFBTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQi8vN2ljUXo1WlRESWovQzZXOEdlbUcrdTZVWnZrMnlnVkxrbGtsM3BmYmtHQ1lsZnFNSVZFCmtrOVd2SlduMGhTdkZmL2VaczBFU0VQVzBwVi81bHk2TTVlQlhYVnRtRU5ud0d5aTVMaStCQlI0ZDFGMUF5YXkKTHp4TFk1Yzh3VWVONXZjcjhITzRsN0NKOTVDV3hML2puME9OeEZ6MHBiVGFVcnpYa0hRc3p5VmZDVW5lek4vTgppTzNOanBQOC9HUng4ZWUwWDUwdCtGOER6Z3VRYUIvM1ZsL2hSc1JWTnNvOW4yTU1Cb1BPelpQOWxoRXhNemNsClBWNXc5YmVnNnFMeVgxUEJrcHI2WVVZbEFVdGpkcFdZN0VQWDUzTm1EQ1h1ZGlFdmQvbDVKbzN3dTFRNzAyYWoKUnd0WUFjNTExQmozdDR5RlhTZXhaSWJ1QVdsMllBb3oKLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg=="
signerName: "kubernetes.io/kube-apiserver-client"
usages:
- digital signature
- key encipherment
- server auth
-Approved the csr
cluster1-controlplane ~ âś– k get csr
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION
csr-lc28p 114m kubernetes.io/kube-apiserver-client-kubelet system:node:cluster1-controlplane <none> Approved,Issued
csr-w7f56 113m kubernetes.io/kube-apiserver-client-kubelet system:bootstrap:ccullm <none> Approved,Issued
john-developer 66m kubernetes.io/kube-apiserver-client kubernetes-admin <none> Approved,Failed
- Yaml of the role created
cluster1-controlplane ~ âžś k get role -n john-developer -n development -o yaml
apiVersion: v1
items:
- apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
creationTimestamp: "2025-04-17T04:50:20Z"
name: developer
namespace: development
resourceVersion: "6673"
uid: eca3c61f-f648-478c-8366-ec1706e6bbf2
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- create
- list
- get
- update
- delete
kind: List
metadata:
resourceVersion: ""
-Yaml of the rolebinding created
cluster1-controlplane ~ âžś k get rolebindings.rbac.authorization.k8s.io -n development -o yaml
apiVersion: v1
items:
- apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
creationTimestamp: "2025-04-17T04:52:18Z"
name: john-developer
namespace: development
resourceVersion: "6913"
uid: 0f509e1f-1efe-4fb0-b41b-a2562296436c
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: developer
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: john-developer
kind: List
metadata:
resourceVersion: ""
- Checking the permisiions
luster1-controlplane ~ âś– k auth can-i delete pods -n development --as john-developer
yes
cluster1-controlplane ~ âžś k auth can-i get pods -n development --as john-developer
yes
cluster1-controlplane ~ âžś k auth can-i list pods -n development --as john-developer
yes
cluster1-controlplane ~ âžś k auth can-create pods -n development --as john-developer
error: unknown command "can-create pods"
See 'kubectl auth -h' for help and examples
cluster1-controlplane ~ âś– k auth can-i create pods -n development --as john-developer
yes
I think you should provide more time to review lab results, 15 min is too less.
Thanks,
Sakshi