Infrastructure Provisioning with Kubernetes: CNPA practice questions
Infrastructure provisioning with Kubernetes means using the Kubernetes API and its controllers to create and manage resources that live outside the cluster: cloud databases, buckets, networks, DNS records, even Git repositories. The idea follows from the controller pattern.
By Ibrahim Yesilay · Published · Updated
Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.
What Infrastructure Provisioning with Kubernetes covers in CNPA
Infrastructure provisioning with Kubernetes means using the Kubernetes API and its controllers to create and manage resources that live outside the cluster: cloud databases, buckets, networks, DNS records, even Git repositories. The idea follows from the controller pattern. The Kubernetes documentation describes controllers that read their desired state from the API server, communicate directly with an external system to bring reality in line, and then report the current state back. Applied to infrastructure, the cluster becomes a control plane for the cloud.
Crossplane is the best-known example and describes itself as a control plane framework for platform engineering. In its terms, a control plane exposes an API where you declare desired state, configures the software accordingly and then monitors it throughout its lifecycle, automatically correcting drift. Crossplane has four components. Managed resources are ready-made custom resources that each extend Kubernetes with the ability to manage an external system, for example an RDS instance, so you do not have to write a controller. Composition lets platform teams build their own APIs: a CompositeResourceDefinition (XRD) defines the schema of a new custom API, users create composite resources (XRs) against it, and a Composition, implemented as a pipeline of functions that can be written in YAML, KCL, Python or Go, configures which resources each XR creates. Operations run function pipelines to completion for tasks such as certificate monitoring and are an alpha feature. The package manager installs managed resources, functions and whole control plane configurations.
Managed resources follow the reconcile model directly. Crossplane treats spec.forProvider as the source of truth for the external resource: if someone changes the resource in the provider's web console, Crossplane reverts it to the configured value. Conditions shown by kubectl describe report whether the resource is Ready, for example Available or still Creating, and whether it is Synced, for example ReconcileSuccess or ReconcileError.
For a platform team, this approach brings infrastructure into the same workflow as applications: declarative manifests, GitOps delivery, Kubernetes RBAC, admission policies and a single API for everything. A developer can request a database by creating a small composite resource, and the platform's composition turns it into a correctly configured instance, network rules and connection details. The Platforms White Paper places Crossplane next to Kubernetes, the Operator Framework, Helm and KubeVela as examples of APIs for automatically provisioning capabilities.
Misconceptions: Kubernetes does not provision cloud resources out of the box, so a controller such as a Crossplane provider must be installed; provisioning through Kubernetes does not mean the resources run inside the cluster, because the database still lives in the cloud; and continuous reconciliation differs from a one-off provisioning script, which applies a change once and never notices later drift.
Expect associate-level questions on what a managed resource or a composition is, why a control plane corrects drift, and how a Kubernetes-based API lets developers provision infrastructure without direct cloud access.
Key points
- Controllers can manage external systems: read desired state from the API, change the outside world, report back.
- Crossplane managed resources represent external resources such as cloud databases as custom resources.
- An XRD defines a custom API, a Composition maps it to resources, and users create XRs.
- Crossplane reverts changes made outside it to match spec.forProvider.
Three sample questions
8 CNPA questions on Infrastructure Provisioning with Kubernetes, 8 with explanations. How practice works
Question 1
- A.A Helm chart and its values file
- B.An Operation and a CronOperation
- C.A managed resource and the Crossplane package manager
- D.A CompositeResourceDefinition (XRD) and a Composition
Correct answer: D
Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), Crossplane: Composite resource definitions, Crossplane: Compositions
Question 2
- A.Templates that combine several resources into a single reusable unit for users
- B.Kubernetes Deployments that Crossplane marks as read-only, so that application teams cannot change them
- C.Terraform state files that Crossplane stores in a ConfigMap for each cloud account
- D.Ready-made custom resources whose controllers manage external resources, such as a cloud database
Correct answer: D
Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), Crossplane: What's Crossplane?
Question 3
- A.It lets teams build custom resource APIs without writing controllers for them.
- B.It replaces Kubernetes with a separate orchestrator that is purpose-built for managing cloud resources.
- C.It provisions infrastructure once at creation time and then stops watching it.
- D.It only works with a single cloud provider, chosen when Crossplane is installed.
Correct answer: A
Sources: CNCF CNPA curriculum (CNPA_Curriculum.pdf), Crossplane: What's Crossplane?
Practice this topic
Focus mode keeps every question on Infrastructure Provisioning with Kubernetes until you leave it. 10 free guest answers, then a free account; no credit card.
Or open CNPA practice across all topics.
Sources
The explanation above was checked against these official documents.
- Crossplane documentation: What's Crossplane? (checked 2026-10-28)
- Crossplane documentation: Composite Resource Definitions (checked 2026-10-28)
- Crossplane documentation: Managed Resources (checked 2026-10-28)
- Kubernetes documentation: Controllers (checked 2026-10-28)
- CNCF TAG App Delivery: Platforms White Paper (checked 2026-10-28)