PAUL'S BLOG

Learn. Build. Share. Repeat.

Bootstrap your GitOps-enabled AKS cluster with Terraform: A code sample using the Flux v2 K8s Extension

September 28, 2023 6 min read GitOps Kubernetes Developer Tutorial

In my previous posts, we learned how to get started with GitOps on AKS using the K8s extension for AKS.

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’s image update automation capability.

From there, we built on the concept of image update automation, and showed you how you can use Flagger to automate canary deployments.

Continue reading

Progressive Delivery on AKS: A Step-by-Step Guide using Flagger with Istio and FluxCD

September 26, 2023 13 min read GitOps Kubernetes Developer Tutorial

In my previous post, 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.

But what if you don’t want an agent automatically pushing out new images without some sort of testing? 🤔

In this article, we’ll build upon Flux’s image update automation capability and add Flagger to implement a canary release strategy.

Continue reading

Automating Image Updates with FluxCD on AKS

September 22, 2023 13 min read GitOps Kubernetes Developer Tutorial

In my previous post, we walked through the setup of FluxCD on AKS via AKS extensions. In this article, we’ll go a bit deeper and take a look at how you can use FluxCD to automate image updates in your AKS cluster.

The goal here is to streamline the process of updating your application deployments in your cluster.

Here is our intended workflow:

  1. Modify application code, then commit and push the change to the repo.
  2. 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.
  3. FluxCD detects the new image and updates the image tag in the cluster.
  4. FluxCD rolls out the new image to the cluster.

We’ll use same AKS store demo app we used in the previous post, but this time we’ll go a bit faster.

Continue reading

Git going with GitOps on AKS: A Step-by-Step Guide using FluxCD AKS Extension

September 20, 2023 12 min read GitOps Kubernetes Developer Tutorial

In reading through @StevenMurawski’s blog post titled, What Really is GitOps? we learned that GitOps is a way to do Continuous Delivery of our applications on Kubernetes.

In this post, I will jump right into how you can “git” going with GitOps by enabling the FluxCD AKS Extension on your Azure Kubernetes Service (AKS) and using a tool called Kustomize to help with Kubernetes configuration management.

We’ll deploy my new favorite demo app, AKS Store Demo to our AKS cluster and then make some changes to the application and see how FluxCD handles them.

Continue reading

Installing .NET on Ubuntu

September 9, 2023 1 min read Code Snippets

Installing .NET on Ubuntu is supposed to be easy. Sometimes it’s not. You should be able to follow the instructions on the Microsoft docs and install from a package manager but I’ve had issues with that. It’s been a frustrating experience; the package installs but then I can’t run dotnet --version and I can’t figure out why.

Thankfully there is an option to manually install .NET, this is what I’ve had the most success with.

Continue reading

Pushing Multi-Architecture Container Images

Introduction

My previous article, Building Multi-Architecture Container Images, covered the basics of building multi-architecture container images using Docker Buildx. In this article, we’ll explore how to push multi-architecture container images to Azure Container Registry (ACR) using GitHub Actions.

What is a GitHub Action?

GitHub Actions is a continuous integration and continuous deployment (CI/CD) platform built into GitHub. It allows you to automate, customize, and execute your software development workflows. Using GitHub Actions, you can create workflows that respond to GitHub events, such as push, issue creation, or a new release.

Continue reading

Building Multi-Architecture Container Images

Introduction

Over the past several years, we’ve seen the emergence of the ARM64 architecture, which is gaining popularity due to its energy efficiency and performance benefits. We often seen these processors in mobile devices, such as smartphones and tablets. We also seen them in our IoT devices, such as smartwatches and smart TVs. Now, we are starting to see increased adoption of ARM64 processors in servers and personal computers.

This emergence of the ARM64 architecture, means that we now have two major processor architectures to consider when building and deploying our containerized applications in order to maximize our application’s reach.

Continue reading
Older posts Newer posts