Book Image

Cloud Native with Kubernetes

By : Alexander Raul
Book Image

Cloud Native with Kubernetes

By: Alexander Raul

Overview of this book

Kubernetes is a modern cloud native container orchestration tool and one of the most popular open source projects worldwide. In addition to the technology being powerful and highly flexible, Kubernetes engineers are in high demand across the industry. This book is a comprehensive guide to deploying, securing, and operating modern cloud native applications on Kubernetes. From the fundamentals to Kubernetes best practices, the book covers essential aspects of configuring applications. You’ll even explore real-world techniques for running clusters in production, tips for setting up observability for cluster resources, and valuable troubleshooting techniques. Finally, you’ll learn how to extend and customize Kubernetes, as well as gaining tips for deploying service meshes, serverless tooling, and more on your cluster. By the end of this Kubernetes book, you’ll be equipped with the tools you need to confidently run and extend modern applications on Kubernetes.
Table of Contents (22 chapters)
1
Section 1: Setting Up Kubernetes
5
Section 2: Configuring and Deploying Applications on Kubernetes
11
Section 3: Running Kubernetes in Production
16
Section 4: Extending Kubernetes

Implementing in-cluster and out-of-cluster CI/CD with Kubernetes

Since there are so many options for CI/CD with Kubernetes, we will choose two options and implement them one by one so you can compare their feature sets. First, we'll implement CI/CD to Kubernetes on AWS CodeBuild, which is a great example implementation that can be reused with any external CI system that can run Bash scripts, including Bitbucket Pipelines, Jenkins, and others. Then, we'll move on to FluxCD, an in-cluster GitOps-based CI option that is Kubernetes-native. Let's start with the external option.

Implementing Kubernetes CI with AWS Codebuild

As mentioned earlier, our AWS CodeBuild CI implementation will be easy to duplicate in any script- based CI system. In many cases, the pipeline YAML definition we'll use is near identical. Also, as we discussed earlier, we are going to skip the actual building of the container image. We will instead focus on the actual deployment piece.

To...