<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GitOps on PAUL'S BLOG</title><link>https://paulyu.dev/categories/gitops/</link><description>Recent content in GitOps on PAUL'S BLOG</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 17 Mar 2024 13:00:00 +0000</lastBuildDate><atom:link href="https://paulyu.dev/categories/gitops/index.xml" rel="self" type="application/rss+xml"/><item><title>Strengthening the Secure Supply Chain</title><link>https://paulyu.dev/article/strengthening-the-secure-supply-chain/</link><pubDate>Sun, 17 Mar 2024 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/strengthening-the-secure-supply-chain/</guid><description>&lt;p&gt;This post will walk you through a demo I presented at the &lt;a href="https://www.socallinuxexpo.org/scale/21x"&gt;SCaLE21X&lt;/a&gt; conference. The session is titled, &lt;a href="https://www.socallinuxexpo.org/scale/21x/presentations/strengthening-secure-supply-chain-project-copacetic-eraser-and-fluxcd"&gt;Strengthening the Secure Supply Chain with Project Copacetic, Eraser, and FluxCD&lt;/a&gt; and this step-by-step guide will enable you do it on your own.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;To begin, you will need to have the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.docker.com/get-started/"&gt;Docker Desktop&lt;/a&gt; to run a Kubernetes cluster locally&lt;/li&gt;
&lt;li&gt;&lt;a href="https://git-scm.com/"&gt;Git&lt;/a&gt; to clone the demo repository&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/signup"&gt;GitHub account&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We will also be using the following tools:&lt;/p&gt;</description></item><item><title>Bootstrap your GitOps-enabled AKS cluster with Terraform: A code sample using the Flux v2 K8s Extension</title><link>https://paulyu.dev/article/bootstrap-gitops-with-aks-extension-using-terraform/</link><pubDate>Thu, 28 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/bootstrap-gitops-with-aks-extension-using-terraform/</guid><description>&lt;p&gt;In my previous posts, we learned how to &lt;a href="https://aka.ms/cloudnative/GitGoingWithGitOps"&gt;get started with GitOps on AKS&lt;/a&gt; using the K8s extension for AKS.&lt;/p&gt;
&lt;p&gt;Then, we took a look at the Flux CLI and explored how it can be used to bootstrap your cluster and generate FluxCD manifests so that we can use GitOps to implement GitOps 🤯, and implemented Flux&amp;rsquo;s &lt;a href="https://aka.ms/cloudnative/ImageAutomationWithFluxCD"&gt;image update automation&lt;/a&gt; capability.&lt;/p&gt;
&lt;p&gt;From there, we built on the concept of image update automation, and showed you how you can use Flagger to &lt;a href="https://aka.ms/cloudNative/ProgressiveDeliveryWithFlagger"&gt;automate canary deployments&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Progressive Delivery on AKS: A Step-by-Step Guide using Flagger with Istio and FluxCD</title><link>https://paulyu.dev/article/more-gitops-with-fluxcd-and-flagger-on-aks/</link><pubDate>Tue, 26 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/more-gitops-with-fluxcd-and-flagger-on-aks/</guid><description>&lt;p&gt;In my previous &lt;a href="https://aka.ms/cloudnative/ImageAutomationWithFluxCD"&gt;post&lt;/a&gt;, we setup an Azure Kubernetes Service (AKS) cluster to automatically update images based on new image tags in a container registry. As soon as a new image was pushed to the registry the image was immediately updated.&lt;/p&gt;
&lt;p&gt;But what if you don&amp;rsquo;t want an agent automatically pushing out new images without some sort of testing? 🤔&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll build upon Flux&amp;rsquo;s image update automation capability and add &lt;a href="https://flagger.app/"&gt;Flagger&lt;/a&gt; to implement a &lt;a href="https://docs.flagger.app/usage/deployment-strategies#canary-release"&gt;canary release strategy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Automating Image Updates with FluxCD on AKS</title><link>https://paulyu.dev/article/automating-image-updates-with-fluxcd-on-aks/</link><pubDate>Fri, 22 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/automating-image-updates-with-fluxcd-on-aks/</guid><description>&lt;p&gt;In my previous &lt;a href="https://aka.ms/cloudnative/GitGoingWithGitOps"&gt;post&lt;/a&gt;, we walked through the setup of FluxCD on AKS via AKS extensions. In this article, we&amp;rsquo;ll go a bit deeper and take a look at how you can use FluxCD to automate image updates in your AKS cluster.&lt;/p&gt;
&lt;p&gt;The goal here is to streamline the process of updating your application deployments in your cluster.&lt;/p&gt;
&lt;p&gt;Here is our intended workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Modify application code, then commit and push the change to the repo.&lt;/li&gt;
&lt;li&gt;Create a new release in GitHub which kicks off a release workflow to build and push an updated container image to a GitHub Container Registry.&lt;/li&gt;
&lt;li&gt;FluxCD detects the new image and updates the image tag in the cluster.&lt;/li&gt;
&lt;li&gt;FluxCD rolls out the new image to the cluster.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We&amp;rsquo;ll use same AKS store demo app we used in the previous post, but this time we&amp;rsquo;ll go a bit faster.&lt;/p&gt;</description></item><item><title>Git going with GitOps on AKS: A Step-by-Step Guide using FluxCD AKS Extension</title><link>https://paulyu.dev/article/git-going-with-gitops-on-aks/</link><pubDate>Wed, 20 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/git-going-with-gitops-on-aks/</guid><description>&lt;p&gt;In reading through &lt;a href="https://dev.to/smurawski"&gt;@StevenMurawski&lt;/a&gt;&amp;rsquo;s blog post titled, &lt;a href="https://aka.ms/cloudnative/WhatReallyIsGitOps"&gt;What Really is GitOps?&lt;/a&gt; we learned that GitOps is a way to do &lt;a href="https://learn.microsoft.com/devops/deliver/what-is-continuous-delivery"&gt;Continuous Delivery&lt;/a&gt; of our applications on Kubernetes.&lt;/p&gt;
&lt;p&gt;In this post, I will jump right into how you can &amp;ldquo;git&amp;rdquo; going with GitOps by enabling the &lt;a href="https://learn.microsoft.com/azure/azure-arc/kubernetes/conceptual-gitops-flux2"&gt;FluxCD AKS Extension&lt;/a&gt; on your Azure Kubernetes Service (AKS) and using a tool called &lt;a href="https://kustomize.io/"&gt;Kustomize&lt;/a&gt; to help with Kubernetes configuration management.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll deploy my new favorite demo app, &lt;a href="https://github.com/Azure-Samples/aks-store-demo"&gt;AKS Store Demo&lt;/a&gt; to our AKS cluster and then make some changes to the application and see how FluxCD handles them.&lt;/p&gt;</description></item></channel></rss>