Day 7: Deploying from GitHub, Rolling Updates, and Local Port Forwarding

Day 7: Deploying from GitHub, Rolling Updates, and Local Port Forwarding

Today was a solid step forward in applying Kubernetes to real-world application deployments. I learned how to deploy an app that doesn’t come from Docker Hub, handle rolling updates to avoid downtime, and set up port forwarding for local development. I even started using tmux for a better workflow while deploying.

3 Key Takeaways

1. Deploying an App from a GitHub-Based Image

Most Kubernetes tutorials use images from Docker Hub, but today I worked with an application that uses images hosted on GitHub Container Registry. Instead of relying on a floating :latest tag, I targeted a specific versioned release tag to ensure stability and easier upgrades later.

The container image was built using Docker Compose, then deployed via a Kubernetes YAML file that pointed directly to the GitHub-hosted image.

image: ghcr.io/hay-kot/mealie:v1.0.0        

Targeting a specific version means I can update it cleanly using rolling updates later.

2. Performing Rolling Updates in Kubernetes

One of the highlights today was learning how to perform rolling updates. This allows me to update an app without taking it offline. Kubernetes updates one Pod at a time, making sure the new version is healthy before moving on.

I applied a new deployment with an updated image tag, and Kubernetes handled it smoothly—no downtime, no disruption. This is exactly the kind of behavior I’d expect in a production environment.

Verified image sources using:

k describe deployment mealie        

3. Local Port Forwarding for Testing in Rancher Desktop

After deploying the application, I wanted to test it locally inside my Rancher Desktop Kubernetes cluster. Since the app wasn’t exposed via an external service, I used port forwarding:

k port-forward pods/mealie 9000        

With this, I was able to access the app in my browser at http://localhost:9090, confirming the deployment was successful.

Bonus: Using tmux for a Better Dev Workflow

I also started using tmux today to split my terminal screen so I could watch the rollout status in one pane while applying deployments in another. This makes it much easier to visually follow what's happening during a rollout and improves overall efficiency when managing clusters locally.

Summary

This was one of the more hands-on and practical days in my Kubernetes journey. I deployed a real application using a container hosted outside Docker Hub, applied best practices with versioned tags, learned how rolling updates maintain app availability, and used port forwarding for local browser testing. Plus, integrating tmux into my workflow helped me stay more organized and observant during deployments.

Next Up

Deep dive into Kubernetes Networking!

To view or add a comment, sign in

Others also viewed

Explore content categories