Category Archives: Kubernetes

Argo Rollouts – Canary Deployments Made Easy In Kubernetes

Argo Rollouts provides advanced deployment capabilities. It supports blue-green and canary strategies. It integrates with Ingress controllers and service meshes. Argo Rollouts can query metrics from various providers and make decisions whether to roll forward or to roll back based on the results.

Continue reading

k9s Kubernetes UI – A Terminal-Based Vim-Like Kubernetes Dashboard

K9s is a terminal-based Vim-like Kubernetes UI.

Everyone is used to Web and desktop dashboards. Kubernetes users are divided between those who prefer performing operations through UIs or through a terminal. How about combining the two modes of operations? K9s is giving us just that. It provides a terminal-based Vim-like UI for operating and observing k8s clusters.

Continue reading

Environments Based On Pull Requests (PRs): Using Argo CD To Apply GitOps Principles On Previews

Release frequency keeps increasing and, with it, the need to get away from static environments like staging, integration, and other permanent setups. Dynamic environments based on pull requests are probably the best example of a need for a much higher level of dynamism. Kubernetes allows us to easily create whatever we need, and destroy what is not in use. There is no need for anything, especially not environments to be permanent, except for production. We can get far in that direction by combining GitOps practices and Argo CD in a way that each pull request (PR) creates a new environment that is destroyed when a PR is closed. By doing that, we can improve efficiency while, at the same time, reducing the costs.

Continue reading

Kubevious: Kubernetes Dashboard That Isn’t A Waste Of Time

After many failed attempts to find a Kubernetes dashboard that is actually useful (even a little bit), I finally stumbled upon Kubevious. There is finally a Kubernetes UI I can recommend.

Continue reading

Argo CD: Applying GitOps Principles To Manage Production Environment In Kubernetes

Argo CD is a declarative GitOps deployment tool for Kubernetes.

It is one of the best, if not the best tool we have today to deploy applications inside Kubernetes clusters. It is based on GitOps principles, and it is a perfect fit to be a part of continuous delivery pipelines. It provides all the building blocks we might need if we would like to adopt GitOps principles for deployments and inject them inside the process of application lifecycle management.

Argo CD is a tool that helps us forget the existence of kubectl apply, helm install, and similar commands. It is a mechanism that allows us to focus on defining the desired state of our environments and pushing definitions to Git. It is up to Argo CD to figure out how to converge our desires into reality.

Continue reading

Serverless Computing With Knative And Containers As A Service (CaaS)

This text was taken from the book and a Udemy course The DevOps Toolkit: Catalog, Patterns, And Blueprints

All the commands from this article are in the [04-03-knative.sh](Gist with the commands: https://gist.github.com/dc4ba562328c1d088047884026371f1f) Gist.

Before we dive into the actual usage of Knative, let's see which components we got and how they interact with each other. We'll approach the subject by trying to figure out the flow of a request. It starts with a user.


Continue reading

Choosing The Right Deployment Strategy

Deployment strategies affect everyone, no matter whether we are focused only on a single aspect of the application lifecycle or we are in full control. The way we deploy affects the architecture, testing, monitoring, and many other aspects. And not only that, but we can say that architecture, testing, and monitoring affect the way we deploy. All those things are closely related and affect each other.

We'll discuss different deployment strategies and answer a couple of questions. Is your application stateful or stateless? Does its architecture permit scaling? How do you roll back? How do you scale up and down? Do you need your application to run always? Should you use Kubernetes Deployments instead of, let's say, StatefulSets? Answers to those questions will not serve much unless we are familiar with some of the most commonly used deployment strategies. Not only that knowledge will help us choose which one to pick, but they might even influence the architecture of our applications.

DevOps Toolkit Books And Courses: https://www.devopstoolkitseries.com/
DevOps Paradox Podcast: https://www.devopsparadox.com/

Terminating Application Instances (Kubernetes Chaos Engineering With Chaos Toolkit And Istio)

This is a clip from my Kubernetes Chaos Engineering With Chaos Toolkit And Istio course. Please use the coupon with a discount if you're interested in the course, or preview it for free.

Coupon with whatever is Udemy's best price: https://www.udemy.com/course/kubernetes-chaos-engineering-with-chaos-toolkit-and-istio/?referralCode=02D178244316CE05E24A

Kubernetes Chaos Engineering With Chaos Toolkit And Istio – Promotion Clip

We're very proud of the latest project we finally finished. This time we're exploring chaos engineering in Kubernetes with Chaos Toolkit And Istio.

More info: https://www.devopstoolkitseries.com

Coupon with whatever is Udemy's best price: https://www.udemy.com/course/kubernetes-chaos-engineering-with-chaos-toolkit-and-istio/?referralCode=02D178244316CE05E24A