Simulado · CNCF
Simulado Certified Kubernetes Application Developer (CKAD)
Resposta curta
O simulado de Certified Kubernetes Application Developer (CKAD) tem 50 questões em 120 minutos, com nota de corte de 66%, conforme configurado aqui. O jeito mais rápido de saber se você está pronto é fazer uma prova completa no relógio e ler a nota por domínio, não só o total.
Domínios cobrados
- Application Design and Build
- Application Deployment
- Application Environment, Configuration and Security
- Application Observability and Maintenance
- Services and Networking
Questões de exemplo, com explicação
Três questões do banco, abertas para ler.
A StatefulSet runs a primary-replica database where pod ordinal 0 must always be fully Ready before ordinal 1 starts, because replicas bootstrap by streaming from the primary. After switching the StatefulSet's podManagementPolicy to Parallel to speed up rollouts, the replicas now intermittently fail to bootstrap. What is the correct understanding?
- Parallel guarantees ordinal 0 starts first but skips its readiness gate; add an initContainer to ordinal 0 to slow it down
- Parallel only affects scale-down ordering, so the bootstrap failures must be caused by a misconfigured readiness probe
- podManagementPolicy controls volume attachment order, not pod startup order; the issue is a PVC binding race
- Parallel podManagementPolicy launches all pods at once without waiting for predecessors to become Ready; revert to OrderedReady to preserve the ordinal startup dependency ✓ (correta)
Por que esta é a correta
The correct understanding is that podManagementPolicy: Parallel tells the StatefulSet controller to create (and delete) all pods simultaneously without waiting for any predecessor to become Running and Ready. Since the replicas depend on the primary (ordinal 0) being Ready first, Parallel breaks that ordering — reverting to OrderedReady (the default) restores the guarantee that ordinal N waits for ordinal N-1 to be Ready. 'Parallel only affects scale-down ordering' is wrong: it affects both creation and deletion, and creation ordering is precisely what was lost. 'podManagementPolicy controls volume attachment order' is wrong: it governs pod startup/termination sequencing, not PVC binding; each pod still binds its own stable PVC regardless of policy. 'Parallel guarantees ordinal 0 starts first but skips its readiness gate' is wrong — Parallel makes no first-start guarantee at all; all pods are launched together, so adding an initContainer to ordinal 0 would not enforce any cross-pod ordering.
A liveness probe uses `exec` with the command `["cat", "/tmp/healthy"]`, periodSeconds: 5, timeoutSeconds: 1, failureThreshold: 3. The app deletes /tmp/healthy when it deadlocks. Operators report that even with periodSeconds 5 and failureThreshold 3, the container sometimes takes much longer than ~15 seconds to restart after the file disappears. Which factor BEST explains the extra delay?
- An exec probe runs a process inside the container each period; under heavy CPU contention the probe command itself can be slow to schedule or exceed timeoutSeconds, stretching the time to accumulate three consecutive failures. ✓ (correta)
- Liveness exec probes are evaluated by the API server, which batches them on a 60-second control loop, so restarts are always delayed.
- failureThreshold only counts failures that occur on even-numbered periods, doubling the effective time.
- The probe waits for the readinessProbe to fail first before it is allowed to count any failures.
Por que esta é a correta
The correct option reflects how exec probes actually work: each probe forks a process inside the container, and under CPU starvation that process may be slow to start or exceed timeoutSeconds, so 'failure' detection per period drifts and the three consecutive failures take longer than the nominal 15 seconds to accumulate. The 'API server batches on a 60s loop' option is wrong because probes are executed by the kubelet on the node, not the API server, and there is no 60-second batching. The claim that failureThreshold only counts even-numbered periods is fabricated; consecutive failures are counted every period. Liveness does not wait on readiness; the two probes are independent and a liveness failure does not require a readiness failure first.
A Pod in namespace `team-a` has no `serviceAccountName` set. The application inside needs to list Pods in its own namespace via the Kubernetes API. An admin has created a Role granting `list` on `pods` and a RoleBinding referencing the ServiceAccount `pod-reader` in `team-a`. The application still receives a 403 Forbidden. Assuming the token is correctly mounted and valid, what is the most likely cause?
- A Role can only bind to users and groups, never to ServiceAccounts, so the binding silently has no effect.
- The token mounted in the Pod is for the node's kubelet identity, which RBAC always denies for namespaced API calls.
- RoleBindings cannot grant `list` on Pods; a ClusterRoleBinding is required for any verb on the `pods` resource.
- The Pod is running under the namespace's `default` ServiceAccount, not `pod-reader`, so the RoleBinding's permissions do not apply to it. ✓ (correta)
Por que esta é a correta
Correct: When `serviceAccountName` is omitted, the Pod runs as the namespace's `default` ServiceAccount. The RoleBinding grants permissions to `pod-reader`, a different identity, so the `default` SA the Pod actually authenticates as has no `list pods` permission and gets 403. The fix is to set `serviceAccountName: pod-reader` (or bind the role to `default`). The distractor claiming RoleBindings can't grant `list` on Pods is false — namespaced resources like Pods are exactly what Roles/RoleBindings are for; ClusterRoleBindings are for cluster-scoped access, not a requirement here. The kubelet-identity distractor is wrong because Pods authenticate with their ServiceAccount's projected token, not the node's credentials. The claim that Roles cannot bind to ServiceAccounts is the opposite of reality — `subjects` in a RoleBinding explicitly supports `kind: ServiceAccount`.
Faça o simulado completo
- 50 questões sorteadas do banco, com cronômetro de 120 minutos
- Nota por domínio e revisão de cada questão
- Tutor de IA para conversar sobre cada questão que você errar
- O que você errou alimenta seu plano de estudo
Simulado independente e não oficial. CNCF e o nome da prova são marcas de seus donos; o UpSkillScore não é afiliado a eles. Formato e nota de corte são a configuração do simulado no UpSkillScore, não uma declaração oficial.
Perguntas frequentes
Quantas questões tem o simulado de Certified Kubernetes Application Developer (CKAD)?
Tem 50 questões e limite de 120 minutos. A nota de corte do simulado é 66%.
Este é o exame oficial de Certified Kubernetes Application Developer (CKAD)?
Não. É um simulado independente, montado para espelhar a estrutura da prova real. Ele não substitui o exame oficial.
Preciso de conta para fazer?
Você lê a estrutura e as questões de exemplo sem conta. Fazer o simulado completo cronometrado, a nota por domínio e o tutor de IA exigem conta.