→ Back to Home
Crossplane

Crossplane v2's Namespaced Composite Resources Streamline Platform Engineering for Kubernetes-Native Operations

Crossplane v2 introduces a fundamental change by making Composite Resources (XRs) namespaced by default, effectively deprecating the separate `Claim` type in favor of requesting XRs directly. This means that XRs, which represent the desired state of composed infrastructure, are now inherently tied to specific Kubernetes namespaces. While backward compatibility for v1-style cluster-scoped XRs and Claims is maintained, the emphasis is clearly on the namespaced approach for new deployments. This also extends to managed resources (MRs), with namespaced AWS MRs being fully available and other cloud providers actively working on updates. This evolution is crucial for platform engineers building internal developer platforms (IDPs). The ability to define and manage composite resources within namespaces directly translates to improved multi-tenancy and better isolation. Instead of relying on a separate `Claim` abstraction, application teams can now interact with namespaced XRs, which are standard Kubernetes resources. This aligns Crossplane more closely with the native Kubernetes experience, making it easier to integrate with existing Kubernetes tooling and workflows for access control (RBAC), GitOps, and continuous delivery. The previous `Claim` mechanism, while functional, added an extra layer of abstraction that could sometimes complicate the mental model for developers already familiar with Kubernetes resources. This development fits squarely within the broader trend of platform engineering and the increasing adoption of Kubernetes as a control plane for everything, not just containers. The industry is moving towards a model where infrastructure is consumed as a service through self-service APIs, and Crossplane's namespaced XRs are a key enabler of this. By extending Kubernetes' declarative model to cloud infrastructure, Crossplane allows organizations to build unified control planes that orchestrate resources across diverse environments. This approach reduces the cognitive load on application developers, allowing them to provision infrastructure without needing deep knowledge of the underlying cloud providers. In practice, practitioners should prioritize migrating to namespaced XRs in Crossplane v2 for new platform builds. While backward compatibility exists, leveraging the new default will simplify future operations and improve consistency. Platform teams should invest in updating their Crossplane compositions to utilize namespaced XRs and consider how this change impacts their RBAC strategies and GitOps pipelines. The deprecation of the `Claim` type means that the self-service experience for application teams will now be more directly tied to the creation of namespaced XRs, which can be managed with standard Kubernetes tools. This also implies a need to review and potentially update existing documentation and training materials for developers consuming platform services. The long-term benefit is a more streamlined, secure, and Kubernetes-native approach to infrastructure as code.
#crossplane#kubernetes#platform engineering#infrastructure as code#control plane#devops
Read original source