<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes on PAUL'S BLOG</title><link>https://paulyu.dev/categories/kubernetes/</link><description>Recent content in Kubernetes on PAUL'S BLOG</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 09 Aug 2024 13:00:00 +0000</lastBuildDate><atom:link href="https://paulyu.dev/categories/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Installing Kubernetes 1.30</title><link>https://paulyu.dev/article/installing-kubernetes/</link><pubDate>Fri, 09 Aug 2024 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/installing-kubernetes/</guid><description>&lt;h2 id="kubernetes-on-your-laptop-3-part-series"&gt;Kubernetes on your Laptop (3 part series)&lt;/h2&gt;



 

 
 &lt;ul&gt;
 
 &lt;li hugo-nav="/article/installing-vmware-fusion/"&gt;&lt;a href="https://paulyu.dev/article/installing-vmware-fusion/"&gt;Installing VMware Fusion&lt;/a&gt;&lt;/li&gt;
 
 &lt;li hugo-nav="/article/installing-ubuntu-server/"&gt;&lt;a href="https://paulyu.dev/article/installing-ubuntu-server/"&gt;Installing Ubuntu Server 22.04&lt;/a&gt;&lt;/li&gt;
 
 &lt;li hugo-nav="/article/installing-kubernetes/"&gt;&lt;a href="https://paulyu.dev/article/installing-kubernetes/"&gt;Installing Kubernetes 1.30&lt;/a&gt;&lt;/li&gt;
 
 &lt;/ul&gt;
 

 


&lt;p&gt;This is the third and final post in my &amp;ldquo;Kubernetes on your Laptop&amp;rdquo; series. In this post, I will show you how to install Kubernetes on Ubuntu server. If you haven&amp;rsquo;t read the previous posts, I recommend you go back and ensure you have an Ubuntu server running on your laptop before proceeding.&lt;/p&gt;</description></item><item><title>Installing Ubuntu Server 22.04</title><link>https://paulyu.dev/article/installing-ubuntu-server/</link><pubDate>Thu, 08 Aug 2024 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/installing-ubuntu-server/</guid><description>&lt;h2 id="kubernetes-on-your-laptop-3-part-series"&gt;Kubernetes on your Laptop (3 part series)&lt;/h2&gt;



 

 
 &lt;ul&gt;
 
 &lt;li hugo-nav="/article/installing-vmware-fusion/"&gt;&lt;a href="https://paulyu.dev/article/installing-vmware-fusion/"&gt;Installing VMware Fusion&lt;/a&gt;&lt;/li&gt;
 
 &lt;li hugo-nav="/article/installing-ubuntu-server/"&gt;&lt;a href="https://paulyu.dev/article/installing-ubuntu-server/"&gt;Installing Ubuntu Server 22.04&lt;/a&gt;&lt;/li&gt;
 
 &lt;li hugo-nav="/article/installing-kubernetes/"&gt;&lt;a href="https://paulyu.dev/article/installing-kubernetes/"&gt;Installing Kubernetes 1.30&lt;/a&gt;&lt;/li&gt;
 
 &lt;/ul&gt;
 

 


&lt;p&gt;This is the second post in my &amp;ldquo;Kubernetes on your Laptop&amp;rdquo; series. In this post, I&amp;rsquo;ll show you how to install Ubuntu Server on a virtual machine using VMware Fusion. If you need help installing VMware Fusion, check out my previous post.&lt;/p&gt;
&lt;h2 id="download-ubuntu-server-image"&gt;Download Ubuntu Server Image&lt;/h2&gt;
&lt;p&gt;First thing we need to do is download the Ubuntu Server image based on your machine&amp;rsquo;s architecture:&lt;/p&gt;</description></item><item><title>Installing VMware Fusion</title><link>https://paulyu.dev/article/installing-vmware-fusion/</link><pubDate>Wed, 07 Aug 2024 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/installing-vmware-fusion/</guid><description>&lt;h2 id="kubernetes-on-your-laptop-3-part-series"&gt;Kubernetes on your Laptop (3 part series)&lt;/h2&gt;



 

 
 &lt;ul&gt;
 
 &lt;li hugo-nav="/article/installing-vmware-fusion/"&gt;&lt;a href="https://paulyu.dev/article/installing-vmware-fusion/"&gt;Installing VMware Fusion&lt;/a&gt;&lt;/li&gt;
 
 &lt;li hugo-nav="/article/installing-ubuntu-server/"&gt;&lt;a href="https://paulyu.dev/article/installing-ubuntu-server/"&gt;Installing Ubuntu Server 22.04&lt;/a&gt;&lt;/li&gt;
 
 &lt;li hugo-nav="/article/installing-kubernetes/"&gt;&lt;a href="https://paulyu.dev/article/installing-kubernetes/"&gt;Installing Kubernetes 1.30&lt;/a&gt;&lt;/li&gt;
 
 &lt;/ul&gt;
 

 


&lt;p&gt;I&amp;rsquo;m preparing to renew my &lt;a href="https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/"&gt;CKA&lt;/a&gt; and &lt;a href="https://training.linuxfoundation.org/certification/certified-kubernetes-security-specialist/"&gt;CKS&lt;/a&gt; certifications, and to practice, I&amp;rsquo;ve decided to set up a local Kubernetes cluster as a lab environment on my laptop to work with control plane components which isn&amp;rsquo;t be possible in a managed Kubernetes environment like &lt;a href="https://cloud.google.com/kubernetes-engine"&gt;GKE&lt;/a&gt;, &lt;a href="https://aws.amazon.com/eks/"&gt;EKS&lt;/a&gt;, or &lt;a href="https://learn.microsoft.com/azure/aks/what-is-aks"&gt;AKS&lt;/a&gt;. There are other local Kubernetes options like &lt;a href="https://minikube.sigs.k8s.io/docs/"&gt;Minikube&lt;/a&gt;, &lt;a href="https://kind.sigs.k8s.io/"&gt;Kind&lt;/a&gt;, &lt;a href="https://docs.docker.com/desktop/kubernetes/"&gt;Docker Desktop&lt;/a&gt;, or &lt;a href="https://ranchermanager.docs.rancher.com/integrations-in-rancher/rancher-desktop"&gt;Rancher Desktop&lt;/a&gt; but you may run into some limitations especially as you try to prepare for the CKA and CKS exams. I wanted to have a full-blown Kubernetes cluster running locally without any restrictions.&lt;/p&gt;</description></item><item><title>You Down with PDB?</title><link>https://paulyu.dev/article/you-down-with-pdb/</link><pubDate>Fri, 22 Mar 2024 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/you-down-with-pdb/</guid><description>&lt;blockquote&gt;
&lt;p&gt;P.D.B. how can I explain it&lt;br&gt;
I&amp;rsquo;ll take you frame by frame it&lt;br&gt;
To have y&amp;rsquo;all all jumpin&amp;rsquo;, shoutin&amp;rsquo;, sayin&amp;rsquo; it&lt;br&gt;
&lt;strong&gt;P&lt;/strong&gt; is for Pod, &lt;strong&gt;D&lt;/strong&gt; is for Disruption, reboot and watch it ripple&lt;br&gt;
The last &lt;strong&gt;B&lt;/strong&gt;, well, that&amp;rsquo;s super simple&lt;/p&gt;
&lt;p&gt;~ An ode to Naughty by Nature&amp;rsquo;s track titled O.P.P. which Microsoft Copilot helped me write 😂&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;In this post, we&amp;rsquo;ll take a look at Kubernetes &lt;a href="https://kubernetes.io/docs/concepts/workloads/pods/disruptions/"&gt;Pod Disruption Budgets (PDBs)&lt;/a&gt; and how they can be used to ensure that your applications remain available during planned disruptions.&lt;/p&gt;</description></item><item><title>Soaring to New Heights with Kaito: The Kubernetes AI Toolchain Operator</title><link>https://paulyu.dev/article/soaring-with-kaito/</link><pubDate>Wed, 20 Mar 2024 14:00:00 +0000</pubDate><guid>https://paulyu.dev/article/soaring-with-kaito/</guid><description>&lt;p&gt;Earlier today at KubeCon Europe 2024, &lt;a href="https://twitter.com/jorgefpalma"&gt;Jorge Palma&lt;/a&gt; of the AKS team gave a &lt;a href="https://x.com/CloudNativeFdn/status/1770375558607647132?s=20"&gt;keynote talk on Kaito, the Kubernetes AI Toolchain Operator&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Next keynote speaker &lt;a href="https://twitter.com/jorgefpalma?ref_src=twsrc%5Etfw"&gt;@jorgefpalma&lt;/a&gt; 🙌 we are truly living in the AI revolution &lt;a href="https://t.co/ATxLWUKDeD"&gt;pic.twitter.com/ATxLWUKDeD&lt;/a&gt;&lt;/p&gt;&amp;mdash; CNCF (@CloudNativeFdn) &lt;a href="https://twitter.com/CloudNativeFdn/status/1770375558607647132?ref_src=twsrc%5Etfw"&gt;March 20, 2024&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;


&lt;p&gt;This tool has been released as an &lt;a href="https://github.com/Azure/kaito"&gt;open-source project&lt;/a&gt; a few months back and you may or may not have heard of it.&lt;/p&gt;
&lt;p&gt;So if you don&amp;rsquo;t know, now you know&amp;hellip;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;re probably thinking, &amp;ldquo;but what is it, and what can it do for me?&amp;rdquo; 🤔&lt;/p&gt;</description></item><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>