In the early days of IT, manual server configuration was common, but became unscalable as infrastructures grew.
Infrastructure-as-Code emerged to define machine states in text files, with tools like Chef, Puppet, and later Terraform.
Terraform, a popular IaC tool, faced limitations like descriptive language constraints and lack of a central registry for automated drift correction.
Introducing Crossplane, which leverages Kubernetes to address Terraform's shortcomings, allowing management of resources through a reconciling engine.
Crossplane acts like an engine, managing various resources such as cloud services, Terraform, and more through configuration packages and providers.
To start using Crossplane, one needs to install it using Helm and then set up providers like the GCP provider for managing resources like GKE clusters.
Google authentication for Crossplane involves creating a secret for Service Account credentials and configuring Provider and ProviderConfig objects for project management.
Creating a GKE cluster using Crossplane involves defining cluster specifications, referencing ProviderConfig, and writing connection secrets.
You can monitor the GKE cluster creation progress using kubectl, access the cluster using the generated kubeconfig, and delete it by deleting the corresponding Cluster object.
Crossplane's approach of using Kubernetes for resource management is highlighted in this article as a powerful tool with potential for further integrations and capabilities.