PKI: KCSA practice questions
A public key infrastructure binds identities to key pairs through certificates signed by a trusted certificate authority. Kubernetes leans on it heavily: TLS protects traffic between components, and client certificates are one of the ways a caller proves who it is to the API server.
By Ibrahim Yesilay · Published · Updated
Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.
What PKI covers in KCSA
A public key infrastructure binds identities to key pairs through certificates signed by a trusted certificate authority. Kubernetes leans on it heavily: TLS protects traffic between components, and client certificates are one of the ways a caller proves who it is to the API server.
The list of certificates a cluster needs is long. On the server side there are certificates for the API server endpoint, for the etcd server and for each kubelet. On the client side, each kubelet authenticates to the API server, the API server authenticates to etcd and to kubelets, and the controller manager, scheduler and kube-proxy each have client certificates for talking to the API server. etcd also uses mutual TLS between clients and peers. A kubeadm cluster typically has three CAs: the general Kubernetes CA (ca.crt and ca.key), a separate etcd CA and a front-proxy CA, plus a key pair used to sign ServiceAccount tokens. kubeadm stores these under /etc/kubernetes/pki by default, with administrator kubeconfig files such as admin.conf in /etc/kubernetes.
Issuing a certificate for a new human user illustrates the pieces. First generate a private key with openssl genrsa (the official walkthrough uses openssl genrsa -out myuser.key 3072, and the key must stay private because anyone holding it can impersonate the user). Then create a certificate signing request with openssl req, setting CN to the user name and O to a group, because the API server reads those fields as the user's name and group membership. Wrap the CSR, base64-encoded, in a CertificateSigningRequest object from the certificates.k8s.io API with signerName kubernetes.io/kube-apiserver-client, an optional expirationSeconds and the client auth usage. An administrator approves it with kubectl certificate approve (or rejects it with kubectl certificate deny); that signer is never auto-approved by the controller manager. The issued certificate appears base64-encoded in .status.certificate, and kubectl config set-credentials with --client-certificate and --client-key adds it to a kubeconfig. The certificate only authenticates; RBAC still decides what the user may do.
Certificates expire, so rotation is part of operations. kubeadm certs check-expiration lists every certificate and its remaining lifetime, and kubeadm certs renew renews them, individually or with renew all. kubeadm also renews all certificates during a control plane upgrade, which is enough for clusters upgraded at least once a year. Kubelet serving certificates generated by kubeadm expire after one year; with rotateCertificates enabled, the kubelet requests new ones through CSRs, which must be approved.
Integrity checks apply to binaries as well as certificates. The Kubernetes download instructions publish a SHA-256 checksum for each binary, and comparing it with sha256sum detects corrupted or tampered downloads before they run on a node.
Key points
- kubeadm keeps cluster certificates under /etc/kubernetes/pki by default.
- CN in a client certificate becomes the user name and O becomes the group.
- kubernetes.io/kube-apiserver-client CSRs are never auto-approved by kube-controller-manager.
- kubeadm certs check-expiration shows remaining lifetimes; kubeadm certs renew renews them.
Three sample questions
8 KCSA questions on PKI, 8 with explanations. How practice works
Question 1
- A.Managing network configurations
- B.Handling storage volumes
- C.Issuing and managing digital certificates and encryption keys
- D.Maintaining container images
- E.Collecting and analyzing application logs
Correct answer: C
Sources: Microsoft Docs - Public Key Infrastructure (PKI), NIST Special Publication 800-32 - Introduction to Public Key Technology and the Federal PKI Infrastructure
Question 2
- A.Manually delete and recreate certificates
- B.Use the 'kubeadm certs renew' command to renew certificates
- C.TLS certificates cannot be rotated once issued
- D.Restart the kubelet service to refresh certificates
- E.Use a third-party certificate manager exclusively
Correct answer: B
Sources: Kubernetes Official Documentation - Managing Certificates, Kubeadm Certificate Management Guide
Question 3
- A.openssl genrsa -out user.key 2048
- B.openssl rsa -in user.key -out user.key
- C.openssl req -newkey rsa:2048 -nodes -keyout user.key -out user.csr
- D.kubectl create secret tls user.key
- E.ssh-keygen -t rsa -b 2048 -f user.key
Correct answer: A
Sources: OpenSSL Documentation - genrsa, Kubernetes Official Documentation - Creating a Client Certificate
Practice this topic
Focus mode keeps every question on PKI until you leave it. 10 free guest answers, then a free account; no credit card.
Or open KCSA practice across all topics.
Sources
The explanation above was checked against these official documents.
- Kubernetes docs: PKI certificates and requirements (checked 2026-10-23)
- Kubernetes docs: Certificates and Certificate Signing Requests (checked 2026-10-23)
- Kubernetes docs: Issue a Certificate for a Kubernetes API Client Using a CertificateSigningRequest (checked 2026-10-23)
- Kubernetes docs: Certificate Management with kubeadm (checked 2026-10-23)
- Kubernetes docs: Install and Set Up kubectl on Linux (checked 2026-10-23)