Automating Kubernetes with GitOps
7h 41mIntermediate2024-10-15
Authors

Pearson

Sander van Vugt
Course details
This course is designed to teach you the key concepts on how to automate infrastructure using GitOps. It introduces core topics of DevOps, pipelines, and Git and shows how to build images from code in an automated way. You will build on your knowledge of automating infrastructure using Terraform and Ansible and proceed with how to use GitOps operators in a Kubernetes environment and build a custom operator. Finally, learn how to use operators provided by ecosystems, such as Tekton and Argo CD.
Best-selling author and trainer Sander van Vugt uses real-world scenarios and demos throughout so you can see in real time how to use GitOps efficiently and effectively to manage cloud native applications.
Learning objectives
Use DevOps, GitOps, and pipelines.
Build container images using Dockerfile.
Run applications in Kubernetes.
Set up Kubernetes for GitOps.
Best-selling author and trainer Sander van Vugt uses real-world scenarios and demos throughout so you can see in real time how to use GitOps efficiently and effectively to manage cloud native applications.
Learning objectives
Use DevOps, GitOps, and pipelines.
Build container images using Dockerfile.
Run applications in Kubernetes.
Set up Kubernetes for GitOps.
Skills covered
KubernetesDevOps ToolsDevOpsOpen SourceOne-Off
Concepts
0. Introduction
- 01 - Automating Kubernetes with GitOps - Introduction
Lesson 1 - Understanding DevOps and GitOps
- 02 - Module 1 - Understanding the fundamentals introduction
- 03 - Learning objectives
- 04 - Understanding DevOps
- 05 - Exploring GitOps
- 06 - Kubernetes and GitOps
- 07 - Deploying everything as code
- 08 - DevOps and GitOps core components
- 09 - DevOps environments
- 10 - DevOps stages
- 11 - Webhooks and operators
Lesson 2 - Using Pipelines
- 12 - Learning objectives
- 13 - What is a pipeline
- 14 - Creating pipelines for DevOps
- 15 - Creating pipelines for GitOps
- 16 - Integrating DevOps and GitOps pipelines
- 17 - Getting started with Jenkins
- 18 - Exploring pipelines in Jenkins
Lesson 3 - Using Git
- 19 - Module 2 - From code to image introduction
- 20 - Learning objectives
- 21 - Understanding Git
- 22 - Git fundamentals
- 23 - Using Git advanced authentication
- 24 - Working with branches and merges
- 25 - Organizing Git repositories for GitOps environments
Lesson 4 - Building Container Images
- 26 - Learning objectives
- 27 - Understanding image formats
- 28 - Using Dockerfile
- 29 - Creating a GitOps container image
- 30 - Using webhooks to automate container image updates
Lesson 5 - Infrastructure as Code
- 31 - Module 3 - Automating infrastructure introduction
- 32 - Learning objectives
- 33 - Understanding infrastructure as code
- 34 - Exploring Terraform
- 35 - Using Terraform for infrastructure as code
- 36 - Using Terraform to manage Kubernetes
Lesson 6 - Configuration as Code
- 37 - Learning objectives
- 38 - Ansible and GitOps
- 39 - Setting up Ansible
- 40 - Managing configuration as code with Ansible
- 41 - Setting up AWX
- 42 - Configuring webhooks on AWX
Lesson 7 - Running Applications in Kubernetes
- 43 - Module 4 - From image to application introduction
- 44 - Learning objectives
- 45 - Using Kubernetes
- 46 - Using Minikube
- 47 - Kubernetes resources
- 48 - Running applications the declarative way
- 49 - Providing access to applications
Lesson 8 - Setting Up Kubernetes for GitOps
- 50 - Learning objectives
- 51 - Using namespaces to represent GitOps environments
- 52 - Labels and annotations
- 53 - Using ConfigMaps to provide application data
- 54 - Kubernetes storage
- 55 - Using services
- 56 - Using Ingress
- 57 - Ingress access to services in specific namespaces
- 58 - Using NetworkPolicy to isolate GitOps environments
Lesson 9 - Controllers and Operators
- 59 - Learning objectives
- 60 - Custom resources
- 61 - Providing operator API access
- 62 - Understanding controllers and operators
- 63 - Creating a custom operator
Lesson 10 - Kubernetes CI CD
- 64 - Learning objectives
- 65 - Understanding Kubernetes GitOps CI CD
- 66 - Implementing a CI pipeline in Kubernetes
- 67 - Implementing CD with a Kubernetes GitOps operator
Lesson 11 - Managing Kubernetes Applications the GitOps Way
- 68 - Learning objectives
- 69 - Using the Helm package manager
- 70 - Exploring Kustomize
- 71 - Using Kustomize to handle application updates the GitOps way
Lesson 12 - Using Secrets
- 72 - Learning objectives
- 73 - Providing configuration
- 74 - Using secrets
- 75 - Secrets in GitOps
- 76 - Bitnami SealedSecrets
Lesson 13 - Using GitOps to Provide Zero-downtime Application Updates
- 77 - Learning objectives
- 78 - Using deployment rolling updates
- 79 - Applying blue green deployment updates
- 80 - Using canary deployments
- 81 - Service-based canary deployments
Lesson 14 - Running a GitOps Project
- 82 - Learning objectives
- 83 - Understanding the project
- 84 - Preparation - Setting up Git
- 85 - Preparation - Creating a worker image
- 86 - Preparation - Setting up storage
- 87 - Preparation - Creating the YAML files
- 88 - Implementing the CI process
- 89 - Implementing the CD process
- 90 - Performing the blue green application update
Lesson 15 - Implementing Observability
- 91 - Module 5 - Using Kubernetes ecosystem solutions introduction
- 92 - Learning objectives
- 93 - Understanding observability
- 94 - Using Kubernetes observability solutions
- 95 - Using Metrics Server
- 96 - Using Prometheus
- 97 - GitOps observability
Lesson 16 - Integrating Tekton Pipelines
- 98 - Learning objectives
- 99 - Understanding Tekton objects
- 100 - Running Tekton tasks
- 101 - Running Tekton pipelines
- 102 - Running Tekton triggers
Lesson 17 - Automatically Updating Code to Applications
- 103 - Learning objectives
- 104 - Introducing CI CD solutions
- 105 - Setting up Flux
- 106 - Using Flux
- 107 - Exploring OpenShift
- 108 - Using OpenShift source to image
- 109 - Understanding Argo CD
- 110 - Using Argo CD
Summary
- 111 - Automating Kubernetes with GitOps - Summary