Book Image

End-to-End Automation with Kubernetes and Crossplane

By : Arun Ramakani
Book Image

End-to-End Automation with Kubernetes and Crossplane

By: Arun Ramakani

Overview of this book

In the last few years, countless organizations have taken advantage of the disruptive application deployment operating model provided by Kubernetes. With Crossplane, the same benefits are coming to the world of infrastructure provisioning and management. The limitations of Infrastructure as Code with respect to drift management, role-based access control, team collaboration, and weak contract make people move towards a control-plane-based infrastructure automation, but setting it up requires a lot of know-how and effort. This book will cover a detailed journey to building a control-plane-based infrastructure automation platform with Kubernetes and Crossplane. The cloud-native landscape has an overwhelming list of configuration management tools that can make it difficult to analyze and choose. This book will guide cloud-native practitioners to select the right tools for Kubernetes configuration management that best suit the use case. You'll learn about configuration management with hands-on modules built on popular configuration management tools such as Helm, Kustomize, Argo, and KubeVela. The hands-on examples will be patterns that one can directly use in their work. By the end of this book, you'll be well-versed with building a modern infrastructure automation platform to unify application and infrastructure automation.
Table of Contents (16 chapters)
1
Part 1: The Kubernetes Disruption
4
Part 2: Building a Modern Infrastructure Platform
10
Part 3:Configuration Management Tools and Recipes

Deploying application workloads with KubeVela

As discussed earlier, KubeVela is a project like Crossplane but focuses primarily on bespoke application workload. It can also cover off-the-shelf components via add-ons. Before getting into the details, let’s look at ways to install KubeVela. We will do the KubeVela installation in two steps. The first part is installing the KubeVela CLI. We can use Homebrew or a script if you have a macOS operating system. In the case of Windows, we can use PowerShell. Here are the CLI installation instructions:

# Installing in macOS with Homebrew
brew update
brew install kubevela
# Installing in macOS with script 
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.3.0
# Installing in windows with a script
powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"

As the next step, we should install KubeVela into the Kubernetes cluster, which is nothing but a set of Custom Resource Definitions...