
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Learn Cloud Native</title>
        <link>https://learncloudnative.com</link>
        <description>Place to learn about cloud native technologies</description>
        <lastBuildDate>Mon, 14 Sep 2026 05:16:06 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Next.js using Feed for Node.js</generator>
        <language>en</language>
        <image>
            <title>Learn Cloud Native</title>
            <url>https://learncloudnative.com/cn-logo-whitebg.png</url>
            <link>https://learncloudnative.com</link>
        </image>
        <copyright>All rights reserved 2026, Peter Jausovec</copyright>
        <item>
            <title><![CDATA[PR validation at scale and a sandbox for every pull request on Kubernetes]]></title>
            <link>https://learncloudnative.com/blog/2026-08-26-pr-validation-at-scale-kubernetes</link>
            <guid>2026-08-26-pr-validation-at-scale-kubernetes</guid>
            <pubDate>Wed, 26 Aug 2026 06:00:00 GMT</pubDate>
            <description><![CDATA[Give every GitHub pull request its own lightweight Kubernetes sandbox, run tests against the PR's code inside the cluster, and isolate schema changes with disposable Neon database branches.]]></description>
        </item>
        <item>
            <title><![CDATA[7 practical MCP policies with agentgateway]]></title>
            <link>https://learncloudnative.com/blog/2026-08-14-7-practical-mcp-policies-agentgateway</link>
            <guid>2026-08-14-7-practical-mcp-policies-agentgateway</guid>
            <pubDate>Fri, 14 Aug 2026 06:00:00 GMT</pubDate>
            <description><![CDATA[Configure agentgateway for tool allowlists, release service accounts, public and admin access, read-only assistants, federated servers, and ExtMCP guardrails.]]></description>
        </item>
        <item>
            <title><![CDATA[Agentgateway rate limiting for agents]]></title>
            <link>https://learncloudnative.com/blog/2026-07-16-agentgateway-rate-limiting</link>
            <guid>2026-07-16-agentgateway-rate-limiting</guid>
            <pubDate>Thu, 16 Jul 2026 06:00:00 GMT</pubDate>
            <description><![CDATA[An AI agent is a machine that holds your credentials and can spend money. In this post, I'll show you how to enforce a shared token budget per agent with agentgateway, and why a local rate limit stops being a real limit as soon as you add another gateway replica.]]></description>
        </item>
        <item>
            <title><![CDATA[Local development with coding agents on Kubernetes using Signadot]]></title>
            <link>https://learncloudnative.com/blog/2026-06-24-signadot-local-dev-coding-agents</link>
            <guid>2026-06-24-signadot-local-dev-coding-agents</guid>
            <pubDate>Wed, 24 Jun 2026 06:00:00 GMT</pubDate>
            <description><![CDATA[Coding agents are quite good at writing code now. Any of the agents can easily add a function, wire up an endpoint, or open a pull request for you. But there's a gap that you run into in practice. They write code that looks perfectly correct in a single-service context, and then it breaks as soon as it touches real dependencies; either another microservice, a database, a message queue. The agent has no way to know, and honestly, neither do you, until something fails downstream.]]></description>
        </item>
        <item>
            <title><![CDATA[cuenv: one typed file for your whole project]]></title>
            <link>https://learncloudnative.com/blog/2026-06-21-cuenv-one-typed-file</link>
            <guid>2026-06-21-cuenv-one-typed-file</guid>
            <pubDate>Sun, 21 Jun 2026 09:00:00 GMT</pubDate>
            <description><![CDATA[Most projects don't have a configuration system — they have a pile: a .env file, a Makefile, a CI workflow, and secrets in a fourth place, none of it validated and all of it slowly drifting apart. cuenv replaces that pile with a single typed env.cue written in CUE. In this overview I'll show you how it validates your config before anything runs, resolves secrets at runtime, runs your tasks as a cached DAG, and generates your CI from the same definitions.]]></description>
        </item>
        <item>
            <title><![CDATA[Top Cloud-Native & Kubernetes Certifications [2026 Guide]]]></title>
            <link>https://learncloudnative.com/blog/2022-07-26-top-cn-certs</link>
            <guid>2022-07-26-top-cn-certs</guid>
            <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Compare the top cloud-native certifications in 2026 — CKA, CKAD, CKS, KCNA, KCSA, Istio, Prometheus, and more: what each costs, where to take them, and the best learning resources to prepare.]]></description>
        </item>
        <item>
            <title><![CDATA[Preflight: AI Code Review Before You Push]]></title>
            <link>https://learncloudnative.com/blog/2026-03-05-preflight-ai-code-review</link>
            <guid>2026-03-05-preflight-ai-code-review</guid>
            <pubDate>Thu, 05 Mar 2026 09:00:00 GMT</pubDate>
            <description><![CDATA[Preflight is a VSCode extension that reviews your code changes and generates PR summaries using AI — all before your code leaves your machine.]]></description>
        </item>
        <item>
            <title><![CDATA[Anatomy of AI Agents]]></title>
            <link>https://learncloudnative.com/blog/2025-01-15-ai-agents</link>
            <guid>2025-01-15-ai-agents</guid>
            <pubDate>Wed, 15 Jan 2025 01:00:00 GMT</pubDate>
            <description><![CDATA[What is an AI agent actually made of? A practical breakdown of agent anatomy — planning, reflection, tool use, memory, and multi-agent patterns — with diagrams and real examples.]]></description>
        </item>
        <item>
            <title><![CDATA[Accessing Google Drive from Next.js]]></title>
            <link>https://learncloudnative.com/blog/2024-09-23-gdrive-from-nextjs</link>
            <guid>2024-09-23-gdrive-from-nextjs</guid>
            <pubDate>Mon, 23 Sep 2024 14:30:00 GMT</pubDate>
            <description><![CDATA[This short post explains how to integrate Google Drive into your Next.js application. It covers setting up NextAuth.js, creating API routes for Google Drive access, and building a simple UI.]]></description>
        </item>
        <item>
            <title><![CDATA[Deploying to Fly.io using Dagger and Github]]></title>
            <link>https://learncloudnative.com/blog/2024-07-20-dagger-fly-io</link>
            <guid>2024-07-20-dagger-fly-io</guid>
            <pubDate>Sat, 20 Jul 2024 01:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to streamline your deployment process using Fly.io, GitHub Actions, and Dagger. This guide walks you through setting up automatic deployments a simple todo app, from basic Fly.io CLI usage to creating efficient, reusable deployment pipelines with Dagger.]]></description>
        </item>
        <item>
            <title><![CDATA[Rapid microservices development with Signadot]]></title>
            <link>https://learncloudnative.com/blog/2023-10-26-signadot</link>
            <guid>2023-10-26-signadot</guid>
            <pubDate>Thu, 26 Oct 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[While developing microservices locally is possible, running and testing them in a production-like Kubernetes environment is complex. A typical development workflow while developing service in Kubernetes can significantly slow you down - from building a Docker image, pushing it, restarting the deployments, and testing the changes in a shared cluster. In this article, I'll look at a tool called Signadot. Signadot introduces a concept of sandboxes that allow you to considerably shorten your developer workflow and go from minutes to mere seconds!]]></description>
        </item>
        <item>
            <title><![CDATA[How to prepare for Istio certified associate exam (ICA)]]></title>
            <link>https://learncloudnative.com/blog/2023-10-10-meshweek</link>
            <guid>2023-10-10-meshweek</guid>
            <pubDate>Tue, 10 Oct 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[CNCF announced a new certification targeting Istio. Istio Certified Associate is meant for engineers, CI/CD practitioners or anyone interested in Istio. We did a full week of streams on YouTube, going through the exam curriculum. This article contains notes, tips, and observations from the Istio Mesh Week live streams]]></description>
        </item>
        <item>
            <title><![CDATA[Global Rate Limiting in Istio with Envoy Rate Limit Service]]></title>
            <link>https://learncloudnative.com/blog/2023-07-23-global-rate-limiter</link>
            <guid>2023-07-23-global-rate-limiter</guid>
            <pubDate>Fri, 28 Jul 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[Set up a global rate limiter in Istio using Envoy's rate limit service: deploy the service, configure descriptors for real-world scenarios, and monitor rate limits with Prometheus and Grafana.]]></description>
        </item>
        <item>
            <title><![CDATA[My Journey with Istio: From Incubation to Graduation]]></title>
            <link>https://learncloudnative.com/blog/2023-07-12-istio-graduates</link>
            <guid>2023-07-12-istio-graduates</guid>
            <pubDate>Wed, 12 Jul 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[I share a quick look into my history with Istio and how I've seen it evolve from an incubating project to a graduated one.]]></description>
        </item>
        <item>
            <title><![CDATA[Cilium Network Policy Tutorial: Secure Kubernetes Step by Step]]></title>
            <link>https://learncloudnative.com/blog/2023-06-14-cilium-network-policy</link>
            <guid>2023-06-14-cilium-network-policy</guid>
            <pubDate>Wed, 14 Jun 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[Hands-on Cilium network policy tutorial: write ingress and egress NetworkPolicies, add Layer 7 (HTTP-aware) rules with CiliumNetworkPolicy, and visualize allowed and denied flows with Hubble.]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Networking: How kube-proxy and iptables Work]]></title>
            <link>https://learncloudnative.com/blog/2023-05-31-kubeproxy-iptables</link>
            <guid>2023-05-31-kubeproxy-iptables</guid>
            <pubDate>Wed, 31 May 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[Deep dive into Kubernetes networking: how kube-proxy programs iptables rules, pod-to-pod and pod-to-service traffic, the role of CNI and kubelet, and iptables vs. IPVS mode — with hands-on examples you can trace yourself.]]></description>
        </item>
        <item>
            <title><![CDATA[Istio ServiceEntry: DNS vs. STATIC Resolution & Endpoints Explained]]></title>
            <link>https://learncloudnative.com/blog/2023-02-10-servicentry-feature</link>
            <guid>2023-02-10-servicentry-feature</guid>
            <pubDate>Fri, 10 Feb 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Complete guide to Istio ServiceEntry: add external services to the mesh, choose between DNS, STATIC, and NONE resolution, configure endpoints for static IPs, and fix 502 errors with REGISTRY_ONLY mode.]]></description>
        </item>
        <item>
            <title><![CDATA[Apply an Istio DestinationRule Globally (Mesh-Wide)]]></title>
            <link>https://learncloudnative.com/blog/2023-02-03-global-dr</link>
            <guid>2023-02-03-global-dr</guid>
            <pubDate>Fri, 03 Feb 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Yes, you can apply an Istio DestinationRule to all workloads in the mesh. Learn how DestinationRule scoping works (root namespace vs. workload namespace), how to set mesh-wide TLS and traffic policies, and the gotchas to avoid.]]></description>
        </item>
        <item>
            <title><![CDATA[Istio Rate Limiting: Configure a Local Rate Limiter in Envoy]]></title>
            <link>https://learncloudnative.com/blog/2022-09-08-ratelimit-istio</link>
            <guid>2022-09-08-ratelimit-istio</guid>
            <pubDate>Thu, 08 Sep 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Step-by-step guide to local rate limiting in Istio: how Envoy token buckets work, configuring per-workload limits with EnvoyFilter, and rate limiting at the ingress and egress gateways.]]></description>
        </item>
        <item>
            <title><![CDATA[How to expose custom ports on Istio ingress gateway]]></title>
            <link>https://learncloudnative.com/blog/2022-08-01-istio-gateway</link>
            <guid>2022-08-01-istio-gateway</guid>
            <pubDate>Mon, 01 Aug 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[This article explains how to expose custom ports on the Istio ingress and how can you use the same host name, but different port, and route the traffic to two (or more) Kubernetes services.]]></description>
        </item>
        <item>
            <title><![CDATA[Portainer Tutorial: A Web UI for Kubernetes & Containers]]></title>
            <link>https://learncloudnative.com/blog/2022-06-02-portainer</link>
            <guid>2022-06-02-portainer</guid>
            <pubDate>Thu, 02 Jun 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Install Portainer on Kubernetes and manage containers from a web UI: step-by-step installation with Helm, creating namespaces, and deploying your first app — no kubectl required.]]></description>
        </item>
        <item>
            <title><![CDATA[Traefik Proxy 2.x and TLS 101]]></title>
            <link>https://learncloudnative.com/blog/2022-05-31-traefik-tls</link>
            <guid>2022-05-31-traefik-tls</guid>
            <pubDate>Tue, 31 May 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[The challenge that I'll explore today is that you have an HTTP service exposed through Traefik Proxy and you want to deal with the HTTPS burden (TLS termination), leaving your pristine service unspoiled by mundane technical details.]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes CLI (kubectl) tips you didn't know about]]></title>
            <link>https://learncloudnative.com/blog/2022-05-10-kubectl-tips</link>
            <guid>2022-05-10-kubectl-tips</guid>
            <pubDate>Tue, 10 May 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[A collection of more than 20 useful and practical Kubernetes CLI tips from the Kubernetes community.]]></description>
        </item>
        <item>
            <title><![CDATA[Setting up SSL certificates with Istio Gateway]]></title>
            <link>https://learncloudnative.com/blog/2019-12-04-setup_ssl_certs_with_istio_gateway_part_i</link>
            <guid>2019-12-04-setup_ssl_certs_with_istio_gateway_part_i</guid>
            <pubDate>Thu, 05 May 2022 03:50:42 GMT</pubDate>
            <description><![CDATA[SSL certificates are a must these days. They helps protect the data being sent between the server and the client by encrypting it, which gives your website more credibility. In this blog post I will explore a couple of different ways you can obtain SSL certificates and configure the Istio Gateway to use them.]]></description>
        </item>
        <item>
            <title><![CDATA[ArgoCD Best Practices You Should Know]]></title>
            <link>https://learncloudnative.com/blog/2022-04-25-argocd-best-practices</link>
            <guid>2022-04-25-argocd-best-practices</guid>
            <pubDate>Mon, 25 Apr 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[This article contains a set of 10 best practices for Argo Workflows, ArgoCD, and Argo Rollouts.]]></description>
        </item>
        <item>
            <title><![CDATA[在 OCI Ampere A1 计算实例上运行 AI]]></title>
            <link>https://learncloudnative.com/blog/2022-04-10-running-ai-on-oci-ampere-a1-instance_zh-zn</link>
            <guid>2022-04-10-running-ai-on-oci-ampere-a1-instance_zh-zn</guid>
            <pubDate>Sun, 10 Apr 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[本文将向您展示如何在 OCI Ampere A1 上准备和启动计算密集的 AI 应用程序。使用 Ampere A1，我们将发挥 Ampere Altra 处理器和 Ampere AIO 一流的 AI 推理性能。]]></description>
        </item>
        <item>
            <title><![CDATA[Running AI On OCI Ampere A1 Instance]]></title>
            <link>https://learncloudnative.com/blog/2022-03-16-running_ai_on_ampere_instance</link>
            <guid>2022-03-16-running_ai_on_ampere_instance</guid>
            <pubDate>Wed, 16 Mar 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[In this article, I will demonstrate easy steps of preparing and launching compute-intensive AI applications on OCI Ampere A1 shape to take advantage of the best-in-class AI inference performance of Ampere Altra processor and Ampere Inference Optimizer (AIO).]]></description>
        </item>
        <item>
            <title><![CDATA[How to Deploy Traefik Proxy Using Flux and GitOps Principles]]></title>
            <link>https://learncloudnative.com/blog/2022-03-09-deploy-traefik-using-flux</link>
            <guid>2022-03-09-deploy-traefik-using-flux</guid>
            <pubDate>Wed, 09 Mar 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[GitOps makes configuration management seamless by creating a single source of truth for configuration changes so that changes can be transparent, validated, and low-risk. This article and this GitHub repository will show you how Traefik Proxy and Flux can work together to help you implement GitOps principles. But before we jump in, what are these tools, and how do they help?]]></description>
        </item>
        <item>
            <title><![CDATA[Firebase Emulators with Next.js: Local Setup Guide]]></title>
            <link>https://learncloudnative.com/blog/2022-03-04-firebase-emulators</link>
            <guid>2022-03-04-firebase-emulators</guid>
            <pubDate>Fri, 04 Mar 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Run Firebase locally with Next.js: set up the Firebase Emulator Suite for Auth and Firestore, connect your Next.js app in development, and stop touching production data while you build.]]></description>
        </item>
        <item>
            <title><![CDATA[Running Hugo on free Ampere VM (Oracle Cloud Infrastructure)]]></title>
            <link>https://learncloudnative.com/blog/2022-01-30-blog-on-oci</link>
            <guid>2022-01-30-blog-on-oci</guid>
            <pubDate>Mon, 31 Jan 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[In this article, I'll take you on a journey of setting up a free-for-life virtual machine instance running on OCI. We'll be creating the account, a virtual machine instance, creating a Github repository with Hugo, setting up Nginx on the VM, and obtaining a free SSL certificate.]]></description>
        </item>
        <item>
            <title><![CDATA[How to use kwatch to detect crashes in Kubernetes clusters]]></title>
            <link>https://learncloudnative.com/blog/2022-01-25-kwatch-pagerduty</link>
            <guid>2022-01-25-kwatch-pagerduty</guid>
            <pubDate>Wed, 26 Jan 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[kwatch is an open-source tool that detects crashes in Kubernetes Pods in real-time and sends the notifications to supported backends. In this post, we'll show you how to deploy and configure kwatch to send Kubernetes Pod crash notifications to PagerDuty.]]></description>
        </item>
        <item>
            <title><![CDATA[Continuous profiling in Kubernetes using Pyroscope]]></title>
            <link>https://learncloudnative.com/blog/2022-01-15-pyroscope-k8s</link>
            <guid>2022-01-15-pyroscope-k8s</guid>
            <pubDate>Sat, 15 Jan 2022 20:43:25 GMT</pubDate>
            <description><![CDATA[In this blog post, we will discuss continuous profiling and then instrument a couple of microservices running on Kubernetes using an open-source tool called Pyroscope.]]></description>
        </item>
        <item>
            <title><![CDATA[Monitoring containers with cAdvisor]]></title>
            <link>https://learncloudnative.com/blog/2021-08-25-cadvisor</link>
            <guid>2021-08-25-cadvisor</guid>
            <pubDate>Wed, 25 Aug 2021 20:43:25 GMT</pubDate>
            <description><![CDATA[Monitoring with cAdvisor allows you to gather information about individual Docker containers. cAdvisor runs as a daemon and collects the information about running containers, crunches the data, and exports it to your backend system of choice (Prometheus, ElasticSearch, StatsD). This article shows you how to install cAdvisor and get the metrics to show up on a dashboard in Grafana.]]></description>
        </item>
        <item>
            <title><![CDATA[Creating a Kubernetes cluster in Google Cloud (LAB)]]></title>
            <link>https://learncloudnative.com/blog/2021-07-07-gcp-k8s-cluster</link>
            <guid>2021-07-07-gcp-k8s-cluster</guid>
            <pubDate>Wed, 07 Jul 2021 20:43:25 GMT</pubDate>
            <description><![CDATA[In this first lab in the series of Kubernetes labs, we'll learn how to create a Kubernetes cluster in Google Cloud]]></description>
        </item>
        <item>
            <title><![CDATA[Your first Kubernetes Pod and ReplicaSet (LABS)]]></title>
            <link>https://learncloudnative.com/blog/2021-07-10-pods-replicasets</link>
            <guid>2021-07-10-pods-replicasets</guid>
            <pubDate>Wed, 07 Jul 2021 20:43:25 GMT</pubDate>
            <description><![CDATA[You've created your Kubernetes cluster and now it's time to put it to use. In this second lab you'll create your first Kubernetes Pod and your first Kubernetes ReplicaSet]]></description>
        </item>
        <item>
            <title><![CDATA[Container Lifecycle Hooks]]></title>
            <link>https://learncloudnative.com/blog/2021-05-03-container-lifecycle-hooks</link>
            <guid>2021-05-03-container-lifecycle-hooks</guid>
            <pubDate>Mon, 03 May 2021 20:43:25 GMT</pubDate>
            <description><![CDATA[The concept of hooks is well-known in the tech world. Events usually trigger hooks, and they allow developers to react to those events and run some custom code. But how can you do the same in the context of Kubernetes and containers?]]></description>
        </item>
        <item>
            <title><![CDATA[Maybe Convert Wasm Extension Config?]]></title>
            <link>https://learncloudnative.com/blog/2021-04-23-curious-case-of-stray-char</link>
            <guid>2021-04-23-curious-case-of-stray-char</guid>
            <pubDate>Fri, 23 Apr 2021 20:43:25 GMT</pubDate>
            <description><![CDATA[Have you ever said "THIS WORKED YESTERDAY!!". Yeah, me too. This could also be titled Living on the edge with Wasm or The tale of a stray character or How I spent way more time I would like to admit, fixing an issue that was completely my fault]]></description>
        </item>
        <item>
            <title><![CDATA[GetIstio - CLI, training, and community]]></title>
            <link>https://learncloudnative.com/blog/2021-02-11-getistio-cli</link>
            <guid>2021-02-11-getistio-cli</guid>
            <pubDate>Thu, 11 Feb 2021 20:43:25 GMT</pubDate>
            <description><![CDATA[GetIstio CLI was released this week. GetIstio features aCLI that offers an easier way to install and upgrade Istio, a free Istio Fundamentals training, and a community, with the first meeting coming up on February 18th.]]></description>
        </item>
        <item>
            <title><![CDATA[Attach multiple VirtualServices to Istio Gateway]]></title>
            <link>https://learncloudnative.com/blog/2020-11-23-multiple-vs-gateway</link>
            <guid>2020-11-23-multiple-vs-gateway</guid>
            <pubDate>Mon, 23 Nov 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[In this post, you'll learn how to expose multiple Kubernetes services running inside your cluster using Istio' Gateway and VirtualService resources.]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Volumes Explained: Keep Data Beyond the Pod]]></title>
            <link>https://learncloudnative.com/blog/2020-11-11-kubernetes-volumes</link>
            <guid>2020-11-11-kubernetes-volumes</guid>
            <pubDate>Wed, 11 Nov 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[What happens to your data when Kubernetes reschedules a Pod? Learn how Volumes, PersistentVolumes, and PersistentVolumeClaims store data outside containers so it survives restarts and node failures.]]></description>
        </item>
        <item>
            <title><![CDATA[Send a Slack message when Docker images are updated]]></title>
            <link>https://learncloudnative.com/blog/2020-10-14-docker-push-slack</link>
            <guid>2020-10-14-docker-push-slack</guid>
            <pubDate>Wed, 14 Oct 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[I needed a way to send a notification to a Slack channel, whenever I push new versions of Docker images to the registry. This post, I explain how I created a function that uses a container registry webhook to call a serverless function that sends a message to a Slack channel.]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Network Policy]]></title>
            <link>https://learncloudnative.com/blog/2020-10-07-network-policies</link>
            <guid>2020-10-07-network-policies</guid>
            <pubDate>Wed, 07 Oct 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[Using the NetworkPolicy resource, you can control the traffic flow for your applications in the cluster, at the IP address level or port level (OSI layer 3 or 4).]]></description>
        </item>
        <item>
            <title><![CDATA[Ambassador Container Pattern]]></title>
            <link>https://learncloudnative.com/blog/2020-10-03-ambassador-pattern</link>
            <guid>2020-10-03-ambassador-pattern</guid>
            <pubDate>Sat, 03 Oct 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[The ambassador container pattern aims to hide the primary container's complexity and provide a unified interface through which the primary container can access services outside of the Pod.]]></description>
        </item>
        <item>
            <title><![CDATA[Start Kubernetes Release]]></title>
            <link>https://learncloudnative.com/blog/2020-10-01-start-kubernetes</link>
            <guid>2020-10-01-start-kubernetes</guid>
            <pubDate>Thu, 01 Oct 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[Start Kubernetes will teach you everything you need to know to use Kubernetes effectively.]]></description>
        </item>
        <item>
            <title><![CDATA[Sidecar Container Pattern]]></title>
            <link>https://learncloudnative.com/blog/2020-09-30-sidecar-container</link>
            <guid>2020-09-30-sidecar-container</guid>
            <pubDate>Wed, 30 Sep 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[The sidecar container aims to add or augment an existing container's functionality without changing the container. In comparison to the init container from the previous article, the sidecar container starts and runs simultaneously as your application container. The sidecar is just a second container you have in your container list, and the startup order is not guaranteed.]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Init Containers]]></title>
            <link>https://learncloudnative.com/blog/2020-09-26-init-containers</link>
            <guid>2020-09-26-init-containers</guid>
            <pubDate>Sat, 26 Sep 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[Init containers allow you to separate your application from the initialization logic and provide a way to run the initialization tasks such as setting up permissions, database schemas, or seeding data for the main application, etc. The init containers may also include any tools or binaries that you don't want to have in your primary container image due to security reasons.]]></description>
        </item>
        <item>
            <title><![CDATA[Deploying multiple Istio Ingress Gateways]]></title>
            <link>https://learncloudnative.com/blog/2020-01-09-deploying_multiple_gateways_with_istio</link>
            <guid>2020-01-09-deploying_multiple_gateways_with_istio</guid>
            <pubDate>Mon, 31 Aug 2020 03:10:12 GMT</pubDate>
            <description><![CDATA[Istio allows you to enable or disable different components, as well as tweak the configuration for them. However, what do you do if you want to deploy another ingress gateway? In this article, I go through a couple of exercises and try to deploy a second ingress gateway.]]></description>
        </item>
        <item>
            <title><![CDATA[Branch by Abstraction Pattern]]></title>
            <link>https://learncloudnative.com/blog/2020-08-14-branch-by-abstraction-pattern</link>
            <guid>2020-08-14-branch-by-abstraction-pattern</guid>
            <pubDate>Fri, 14 Aug 2020 20:43:25 GMT</pubDate>
            <description><![CDATA[The strangler pattern is useful for scenarios where you can intercept the calls at the edge of your monolithic application. But what do you do in a scenario where the functionality you're trying to extract is not called directly from the outside, rather it is being called from multiple other places inside the monolith?]]></description>
        </item>
        <item>
            <title><![CDATA[The Strangler Pattern]]></title>
            <link>https://learncloudnative.com/blog/2020-08-11-the-strangler-pattern</link>
            <guid>2020-08-11-the-strangler-pattern</guid>
            <pubDate>Tue, 11 Aug 2020 18:02:30 GMT</pubDate>
            <description><![CDATA[The strangler pattern is used in scenarios when you're migrating from monolithic systems by extracting pieces of functionality and moving that functionality into new services. This article explains how the pattern works and how to implement it. ]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Development Environment with Skaffold]]></title>
            <link>https://learncloudnative.com/blog/2020-07-12-kubernetes-development-environment-with-skaffold</link>
            <guid>2020-07-12-kubernetes-development-environment-with-skaffold</guid>
            <pubDate>Sun, 12 Jul 2020 23:28:25 GMT</pubDate>
            <description><![CDATA[One part of the Start Kubernetes course I am working on (in addition to the book and videos) is the interactive labs. The purpose of these labs is to help you learn Kubernetes by solving different tasks, such as creating pods, scaling deployments, and so on. What follows is a quick explanation of how the end-user experience looks like and how I've set up my development environment for it.]]></description>
        </item>
        <item>
            <title><![CDATA[Securing Kubernetes Ingress with Ambassador and Let's Encrypt]]></title>
            <link>https://learncloudnative.com/blog/2020-06-24-ssl-ambassador-lets-encrypt</link>
            <guid>2020-06-24-ssl-ambassador-lets-encrypt</guid>
            <pubDate>Wed, 24 Jun 2020 23:10:00 GMT</pubDate>
            <description><![CDATA[In addition to routing the incoming requests or exposing service API's through a single endpoint, the ingress gateways does other tasks, such as rate limiting, SSL termination, load balancing, authentication, circuit breaking and more.  In this article I will show you how to install the Ambassador Gateway and other components to be able to obtain an SSL certificate for your application.]]></description>
        </item>
        <item>
            <title><![CDATA[All About the Ingress Resource]]></title>
            <link>https://learncloudnative.com/blog/2020-06-18-kubernetes-ingress</link>
            <guid>2020-06-18-kubernetes-ingress</guid>
            <pubDate>Thu, 18 Jun 2020 02:06:07 GMT</pubDate>
            <description><![CDATA[You deployed your applications to Kubernetes and now you need a way for your users to access them. You can do that with a Kubernetes Ingress resource and an Ingress controller. This article explains all about the Ingress resource and shows you how to expose multiple applications through a domain, subdomain and on a different URL path.]]></description>
        </item>
        <item>
            <title><![CDATA[How to quarantine Kubernetes pods?]]></title>
            <link>https://learncloudnative.com/blog/2020-06-14-how-to-quarantine-kubernetes-pods</link>
            <guid>2020-06-14-how-to-quarantine-kubernetes-pods</guid>
            <pubDate>Sun, 14 Jun 2020 02:06:07 GMT</pubDate>
            <description><![CDATA[To investigate and debug the containers within a pod you need to remove the pod from the load balancing pool, so none of the traffic gets sent to it. This tip shows you how to do that.]]></description>
        </item>
        <item>
            <title><![CDATA[Getting started with Kubernetes]]></title>
            <link>https://learncloudnative.com/blog/2020-05-26-getting-started-with-kubernetes-part-1</link>
            <guid>2020-05-26-getting-started-with-kubernetes-part-1</guid>
            <pubDate>Tue, 26 May 2020 02:06:07 GMT</pubDate>
            <description><![CDATA[In this multi-part series of articles I'll try and capture everything I think someone who wants to learn and work with Kubernetes should know about. If you have read any of my previous articles or courses you know that I like to learn by practice and trying things out. I'll explain theoretical things, but will focus more on the practical parts.]]></description>
        </item>
        <item>
            <title><![CDATA[Horizontal partitioning in MongoDB]]></title>
            <link>https://learncloudnative.com/blog/2020-05-12-horizontal-partitioning-or-sharding-in-mongodb</link>
            <guid>2020-05-12-horizontal-partitioning-or-sharding-in-mongodb</guid>
            <pubDate>Tue, 12 May 2020 20:19:27 GMT</pubDate>
            <description><![CDATA[In this article, I'll talk a bit about data partitioning. Specifically, I'll talk about horizontal data partitioning or sharding. After a brief 'theoretical' part, I'll show you an example of how you can configure sharding with MongoDB. You will be able to run three MongoDB shards, a configuration server, and a router on your computer, using Docker compose.]]></description>
        </item>
        <item>
            <title><![CDATA[Docker image tagging scheme]]></title>
            <link>https://learncloudnative.com/blog/2020-05-07-docker-image-tagging-scheme</link>
            <guid>2020-05-07-docker-image-tagging-scheme</guid>
            <pubDate>Thu, 07 May 2020 23:06:07 GMT</pubDate>
            <description><![CDATA[In this short article I'll talk about two things - the latest tag in Docker and why you should be careful when using it and how you should come up with your own tagging scheme for your Docker images.]]></description>
        </item>
        <item>
            <title><![CDATA[Six things to keep in mind when working with Dockerfiles]]></title>
            <link>https://learncloudnative.com/blog/2020-05-03-six-things-to-keep-in-mind-when-working-with-dockerfiles</link>
            <guid>2020-05-03-six-things-to-keep-in-mind-when-working-with-dockerfiles</guid>
            <pubDate>Sun, 03 May 2020 23:06:07 GMT</pubDate>
            <description><![CDATA[I have been using Docker directly or indirectly for years now. During that time I shot myself in the foot multiple times by not following suggestions and good practices. I have collected tips and practices and separated them into multiple categories. I am calling these categories Dockerfiles, images, and containers. The first part talks about Dockerfiles - I have included 6 tips and practices you should try and adopt.]]></description>
        </item>
        <item>
            <title><![CDATA[Beginners guide to Docker]]></title>
            <link>https://learncloudnative.com/blog/2020-04-29-beginners-guide-to-docker</link>
            <guid>2020-04-29-beginners-guide-to-docker</guid>
            <pubDate>Wed, 29 Apr 2020 22:24:00 GMT</pubDate>
            <description><![CDATA[Understanding concepts around Docker images and containers is crucial for anyone starting in cloud-native. Regardless if you're in development, DevOps or program management (or any other technical role :). Once you grasp the basics of Docker it will be so much easier for you to understand things like Kubernetes, service meshes and pretty much any other cloud-native tool works. You can think of this guide as the first practical guide to learning about cloud-native.]]></description>
        </item>
        <item>
            <title><![CDATA[Beginners guide to gateways and proxies]]></title>
            <link>https://learncloudnative.com/blog/2020-04-25-beginners-guide-to-gateways-proxies</link>
            <guid>2020-04-25-beginners-guide-to-gateways-proxies</guid>
            <pubDate>Sat, 25 Apr 2020 10:10:42 GMT</pubDate>
            <description><![CDATA[Have you heard of gateways, proxies, load balancer, API gateways? This article explains what gateways are, what is their purpose and how they work with practical examples]]></description>
        </item>
        <item>
            <title><![CDATA[Deploy and Operate Multiple Istio Meshes in one Kubernetes Cluster]]></title>
            <link>https://learncloudnative.com/blog/2020-03-16-deploy_and_operate_multiple_service_service_meshes_on_single_cluster</link>
            <guid>2020-03-16-deploy_and_operate_multiple_service_service_meshes_on_single_cluster</guid>
            <pubDate>Mon, 16 Mar 2020 10:10:42 GMT</pubDate>
            <description><![CDATA[The rising demand for hard kubernetes multitenancy, either for customers of a SaaS offering or to support disparate internal teams within an organization, coupled with mass adoption of service-meshes (Istio being the more popular of the choices), we are starting to notice a need for supporting multiple meshes within a single Kubernetes cluster.]]></description>
        </item>
        <item>
            <title><![CDATA[Managing service meshes with Meshery]]></title>
            <link>https://learncloudnative.com/blog/2020-03-12-meshery-service-mesh-management-plane</link>
            <guid>2020-03-12-meshery-service-mesh-management-plane</guid>
            <pubDate>Thu, 12 Mar 2020 10:10:42 GMT</pubDate>
            <description><![CDATA[If you ever wanted to quickly evaluate service meshes and even run a couple of performace tests, you might want to look into Meshery. Meshery is a multi-service mesh management plane for lifecycle, config and performance management of service meshes.]]></description>
        </item>
        <item>
            <title><![CDATA[Circuit Breaking in Istio Explained]]></title>
            <link>https://learncloudnative.com/blog/2020-02-28-circuit_breakers_in_istio_explained</link>
            <guid>2020-02-28-circuit_breakers_in_istio_explained</guid>
            <pubDate>Fri, 28 Feb 2020 22:21:42 GMT</pubDate>
            <description><![CDATA[Learn how circuit breakers protect your services in an Istio service mesh — connection pool settings, outlier detection, and a hands-on demo of tripping the breaker before failures cascade.]]></description>
        </item>
        <item>
            <title><![CDATA[Build and push your Docker images using Github Actions]]></title>
            <link>https://learncloudnative.com/blog/2020-02-20-github-action-build-push-docker-images</link>
            <guid>2020-02-20-github-action-build-push-docker-images</guid>
            <pubDate>Thu, 20 Feb 2020 03:44:12 GMT</pubDate>
            <description><![CDATA[This article explains how to build a simple CI using Github Actions. It involves triggering the workflow only on version file changes, parsing the image names and then building, tagging and pushing the images to the Docker registry.]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes and Istio service mesh workshop materials]]></title>
            <link>https://learncloudnative.com/blog/2020-02-04-kubernetes_and_istio_workshop_materials</link>
            <guid>2020-02-04-kubernetes_and_istio_workshop_materials</guid>
            <pubDate>Tue, 04 Feb 2020 01:10:12 GMT</pubDate>
            <description><![CDATA[In the past year, I have done multiple workshops on Kubernetes, Istio and cloud-native development. As part of my workshops I usually start with theory and explain the concepts using slides, show some demos, but then it's on you, the participant to try out the technology yourself.]]></description>
        </item>
        <item>
            <title><![CDATA[Build Netlify-like deployment for React app using Kubernetes pods]]></title>
            <link>https://learncloudnative.com/blog/2020-01-06-build_your_own_netlify_like_deployment_for_react_apps_with_kubernetes</link>
            <guid>2020-01-06-build_your_own_netlify_like_deployment_for_react_apps_with_kubernetes</guid>
            <pubDate>Mon, 06 Jan 2020 04:12:42 GMT</pubDate>
            <description><![CDATA[Ever wondered how you can build your own system that automatically updates your React app each time you push changes to the repository where your app is hosted? In this article I explain how you can use build a Netlify-like deployment for React apps using a multi-container Kubernetes pod.]]></description>
        </item>
        <item>
            <title><![CDATA[Six exciting enhancements in Istio 1.4.0]]></title>
            <link>https://learncloudnative.com/blog/2019-12-05-six_exciting_enhancements_in_istio_1_4_0</link>
            <guid>2019-12-05-six_exciting_enhancements_in_istio_1_4_0</guid>
            <pubDate>Thu, 05 Dec 2019 03:50:42 GMT</pubDate>
            <description><![CDATA[Istio 1.4.0 was released on November 14th and it came with a lot of new features and enhancements. In this article I go through my favorite six improvements, including the new and simple way of installing Istio and opening dashboards.]]></description>
        </item>
        <item>
            <title><![CDATA[Fallacies of Distributed Systems]]></title>
            <link>https://learncloudnative.com/blog/2019-11-26-fallacies_of_distributed_systems</link>
            <guid>2019-11-26-fallacies_of_distributed_systems</guid>
            <pubDate>Tue, 26 Nov 2019 11:45:42 GMT</pubDate>
            <description><![CDATA[The fallacies of distributed computing or distributed system are a collection of eight statements made by L. Peter Deutsch and others at Sun Microsystems about false assumptions people new to developing distributed applications make. Here's the list of 8 fallacies of distributed systems]]></description>
        </item>
        <item>
            <title><![CDATA[CAP Theorem Explained]]></title>
            <link>https://learncloudnative.com/blog/2019-11-22-basics_cap_theorem</link>
            <guid>2019-11-22-basics_cap_theorem</guid>
            <pubDate>Fri, 22 Nov 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[The CAP theorem, also named Brewer's theorem after computer scientist Eric Brewer, states that it is impossible for a distributed system to simultaneously provide more than two out of the following three guarantees - consistency, high availability, and partition tolerance.]]></description>
        </item>
        <item>
            <title><![CDATA[Master the Kubernetes CLI (kubectl) - Cheatsheet]]></title>
            <link>https://learncloudnative.com/blog/2019-10-29-kubernetes_cli_kubectl_cheatsheet</link>
            <guid>2019-10-29-kubernetes_cli_kubectl_cheatsheet</guid>
            <pubDate>Tue, 29 Oct 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[This Kubernetes CLI (kubectl) cheatsheet contains the most common commands you will use when working with Kubernetes clusters and Kubernetes resources. If you're working with Kubernetes on daily basis or if you're just learning about Kubernetes you will run into a set of commands that are used often than the other commands. The ones used more often are also usually easy to remember (especially if you're typing them out multiple times a day).]]></description>
        </item>
        <item>
            <title><![CDATA[Minikube Basics and How to Get Started with Kubernetes]]></title>
            <link>https://learncloudnative.com/blog/2019-08-27-minikube_basics_how_to_get_started_with_kubernetes</link>
            <guid>2019-08-27-minikube_basics_how_to_get_started_with_kubernetes</guid>
            <pubDate>Tue, 27 Aug 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[This post and accompanying video guides you through the Minikube installation process. It explains and introduces a couple of essential Minikube commands you can use to work with your Kubernetes cluster, and shows you how to access your applications inside the cluster when using Minikube.]]></description>
        </item>
        <item>
            <title><![CDATA[5 Tips to Be More Productive with Kubernetes]]></title>
            <link>https://learncloudnative.com/blog/2019-08-06-5_tips_to_be_more_proudctive_with_kubernetes</link>
            <guid>2019-08-06-5_tips_to_be_more_proudctive_with_kubernetes</guid>
            <pubDate>Tue, 06 Aug 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[I like to read and see how people set up their environments and any tools, tips, and tricks they use to be more productive when working with Kuberentes and Istio. What follows is a collection of 5 tips and tools that I use daily and I think it makes me be more productive with Kuberentes and Istio.]]></description>
        </item>
        <item>
            <title><![CDATA[What are sticky sessions and how to configure them with Istio?]]></title>
            <link>https://learncloudnative.com/blog/2019-06-12-what_are_sticky_sessions_and_how_to_configure_them_with_istio</link>
            <guid>2019-06-12-what_are_sticky_sessions_and_how_to_configure_them_with_istio</guid>
            <pubDate>Wed, 12 Jun 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[The idea behind sticky sessions is to route the requests for a particular session to the same endpoint that served the first request. That way to can associate a service instance with the caller, based on HTTP headers or cookies. You might want to use sticky sessions if your service is doing an expensive operation on first request, but later caching the value. That way, if the same user makes the request, the expensive operation will not be performed and value from the cache will be used.]]></description>
        </item>
        <item>
            <title><![CDATA[Debugging Kubernetes applications using Istio]]></title>
            <link>https://learncloudnative.com/blog/2019-06-07-debugging_kubernetes_applications_using_istio</link>
            <guid>2019-06-07-debugging_kubernetes_applications_using_istio</guid>
            <pubDate>Fri, 07 Jun 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[This article explains how you can use Istio in combination with ngrok to debug a service running locally on your machine while the production version of the service is running in the cluster]]></description>
        </item>
        <item>
            <title><![CDATA[Kubernetes Ingress and Istio Gateway Resource]]></title>
            <link>https://learncloudnative.com/blog/2019-04-18-kubernetes_ingress_and_istio_gateway_resource</link>
            <guid>2019-04-18-kubernetes_ingress_and_istio_gateway_resource</guid>
            <pubDate>Thu, 18 Apr 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[By default, any service running inside the service mesh is not automatically exposed outside of the cluster which means that we can't get to it from the public Internet. Similarly, services within the mesh don't have access to anything running outside of the cluster either.]]></description>
        </item>
        <item>
            <title><![CDATA[Zero Downtime Releases using Kubernetes and Istio]]></title>
            <link>https://learncloudnative.com/blog/2019-02-28-zero_downtime_releases_using_kubernetes_and_istio</link>
            <guid>2019-02-28-zero_downtime_releases_using_kubernetes_and_istio</guid>
            <pubDate>Thu, 28 Feb 2019 22:21:42 GMT</pubDate>
            <description><![CDATA[The idea behind zero downtime release is to release a new version of the service, without affecting any users — i.e., users don't even know when a new version of the service is released. A practical example would be if you have a website running, how can you can you release a new version without taking the site down?]]></description>
        </item>
        <item>
            <title><![CDATA[Traffic Mirroring with Istio Service Mesh]]></title>
            <link>https://learncloudnative.com/blog/2018-12-24-traffic_mirroring_with_istio_service_mesh</link>
            <guid>2018-12-24-traffic_mirroring_with_istio_service_mesh</guid>
            <pubDate>Mon, 24 Dec 2018 22:21:42 GMT</pubDate>
            <description><![CDATA[In addition to more “traditional” traffic routing between different service versions, that can be based on a variety of incoming requests properties, such as portions of the URL, header values, request method, etc., Istio also supports traffic mirroring.]]></description>
        </item>
        <item>
            <title><![CDATA[Expose a Kubernetes service on your own custom domain]]></title>
            <link>https://learncloudnative.com/blog/2018-09-28-expose_kubernetes_service_on_your_own_custom_domain</link>
            <guid>2018-09-28-expose_kubernetes_service_on_your_own_custom_domain</guid>
            <pubDate>Fri, 28 Sep 2018 22:21:42 GMT</pubDate>
            <description><![CDATA[You have finally deployed your app to Kubernetes and you bought a cool domain name — ever wondered how to point your cool domain like www.mydomain.com, but cooler, to an application running inside Kubernetes? Well, read on and I'll try to explain how to do just that!]]></description>
        </item>
    </channel>
</rss>