Share E-Book
Scan to open this page

Scan with your phone to open this page

AuthorNatale Vinto, Alex Bueno

Why are so many companies adopting GitOps for their DevOps and cloud native strategy? This reliable framework is quickly becoming the standard method for deploying apps to Kubernetes. With this practical, developer-oriented book, DevOps engineers, developers, IT architects, and SREs will learn the most useful recipes and examples for following GitOps practices. Through their years of experience in application modernization, CI/CD, and automation, authors Alex Soto Bueno and Natale Vinto from Red Hat walk you through all the steps necessary for successful hands-on application development and deployment with GitOps. Once you start using the recipes in this book, you'll have a head start in development cycles on Kubernetes following the GitOps approach. You'll learn how to: • Develop and deploy applications on Kubernetes • Understand the basics of CI/CD and automation on Kubernetes, and apply GitOps practices to • implement development cycles on the platform • Prepare the app for deployment on multiple environments and/or multiple Kubernetes clusters • Deploy apps for either multiple environments using GitOps and Argo CD, or for Kubernetes clusters • Create Kubernetes-native pipelines with Tekton • Provide and extend DevOps skills for the team working on Kubernetes • Use progressive delivery to put your applications into production

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A practical, recipe-driven guide for DevOps engineers, developers, IT architects, and SREs who want to implement GitOps practices on Kubernetes, covering everything from container image creation to progressive delivery with tools like Argo CD and Tekton. 【Book Arc】 - **Opening (~0%–9%)**: Introduces GitOps as a methodology built on Git as the single source of truth, with pillars of declarative configuration, versioned and immutable state, and automated pull-based deployment. Sets up the development environment with GitHub, VirtualBox, and Minikube. - **Early (~9%–28%)**: Covers container image creation fundamentals—building with Docker, daemonless alternatives like Buildah and Cloud Native Buildpacks, and Kubernetes-native build systems like Shipwright with kaniko. Introduces Kustomize for managing Kubernetes manifests without templating. - **Middle (~28%–44%)**: Deepens Kustomize usage with image updates, patches, and ConfigMap generation, then transitions to Helm for package management—creating charts, templating with Go templates and Sprig functions, and managing values. - **Middle (~44%–53%)**: Focuses on Helm packaging and distribution, including chart repositories and dependency management, with practical examples like deploying PostgreSQL via Helm charts. - **Late (~53%–end)**: Moves into GitOps implementation with Argo CD for multi-environment and multi-cluster deployments, Tekton for Kubernetes-native CI/CD pipelines, and progressive delivery strategies for production rollouts. 【Key Takeaways】 - **GitOps is a pull-based, declarative framework** (Early): The three pillars—Git as single source of truth, everything as code, and operations through Git workflows—enable automated drift detection and versioned infrastructure. This reduces delivery risk and improves service quality. - **Container images can be built without Docker** (Early): Tools like Buildah and Cloud Native Buildpacks offer daemonless alternatives that improve security and portability, making it easy to add builds to CI/CD pipelines without privileged processes. - **Kubernetes-native build systems abstract image creation** (Early): Shipwright provides CRDs like ClusterBuildStrategy to use kaniko, BuildKit, or Buildah directly in-cluster, turning Kubernetes into an extensible building platform. - **Kustomize enables declarative manifest management** (Early): Using kustomization.yaml files, you can organize resources, update image tags, apply patches, and generate ConfigMaps with hashed names—all without templating languages. - **Helm charts templatize Kubernetes deployments** (Middle): With Chart.yaml, templates using Go template language and Sprig functions, and values.yaml for defaults, Helm allows parameterized, reusable application definitions. - **Helm packaging enables distribution and reuse** (Middle): The `helm package` command creates .tgz archives, and chart repositories with index.yaml files allow sharing and dependency management, as shown with PostgreSQL deployment. - **Progressive delivery is essential for production** (Late): The book covers strategies to roll out applications incrementally, reducing risk when putting new versions into production environments. 【Reading Tips】 - **Skim the environment setup sections** (Opening): The GitHub, VirtualBox, and Minikube setup is standard; if you already have a Kubernetes cluster, jump to the container build chapters. - **Deep-read the Kustomize and Helm chapters** (Early–Middle): These are the core manifest management tools; practice the recipes with the pacman example to understand image updates, patches, and ConfigMap generation. - **Focus on the Shipwright and kaniko recipes** (Early): These are less common but valuable for Kubernetes-native builds; understand the CRD structure even if you don't implement it immediately. - **Pay attention to Helm packaging and dependencies** (Middle): The PostgreSQL example shows real-world chart usage; learn the `helm dependency update` workflow for managing complex applications. - **Take away the GitOps workflow patterns** (Late): Even if you don't use Argo CD or Tekton immediately, the principles of pull-based sync and pipeline automation are transferable to other tools. 【Coverage Limits】 The excerpts cover the first half of the book thoroughly (container builds, Kustomize, Helm), but the later chapters on Argo CD, Tekton, and progressive delivery are only partially represented. The guide does not include detailed recipes for multi-cluster deployments or advanced CI/CD pipeline configurations.
Page 5
show me what real coffee tastes like. A while later, I was introduced to a developer advocate in a meeting who would speak at a conference about CI/CD using...
View in text
Excerpt 2
buildah from centos You should get output similar to this: Resolved short name "centos" to a recorded short-name alias↳ (origin: /etc/containers/registries.c...
View in text
Excerpt 3
path: external_patch.yaml Path to external patch file In addition to the JSON Patch expression, Kustomize also supports Strategic Merge Patch to modify Kuber...
View in text
Excerpt 4
esql.asotobue-dev.svc.cluster.local - Read/Write connection To get the((("passwords", "Helm Charts")))((("Helm", "Charts", "passwords"))) ((("Charts", "passw...
View in text
Excerpt 5
rization.k8s.io/tekton-triggers-eventlistener-roles created clusterrole.rbac.authorization.k8s.io/tekton-triggers-eventlistener-clusterroles created role.rba...
View in text
Excerpt 6
34134fac91baa79be3e2bb8fb3dba71ba5c1ea012cb5daeb7180a054687 [build-and-push-image] Copying config sha256:0c308464b19eaa9a01c3fdd6b63a043c160d4eea85e461bbbb7d...
View in text
Excerpt 7
main clone: disable: true steps: - name: clone sources image: alpine/git pull: if-not-exists commands: - git clone https://github.com/gitops-cookbook/pacman-...
View in text
Excerpt 8
SH PRIVATE KEY----- Sets the content of the SSH private key If you are using the GitHub App method, you need to set the App ID, the App Installation ID, and...
View in text
Tags
AI categories
DevOpsCloud Nativekubernetes
ISBN: 1492097470
Publisher: O'Reilly Media
Publish Year: 2023
Language: English
Pages: 258
File Format: PDF
File Size: 10.4 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…