Category Archives: Kubernetes

Helm vs Kustomize – The Fight Between Templating and Patching in Kubernetes

Kustomize and Helm serve the same primary function. Both allow us to define applications in a more flexible way than using only Kubernetes manifests. However, the way Helm solves the problem is quite different from the approach adopted with Kustomize. Which one is better? Which one should you choose?

Continue reading

Kustomize – How to Simplify Kubernetes Configuration Management

Kustomize is a template-free declarative approach to Kubernetes configuration management and customization.

Continue reading

eksctl – How to Create and Manage AWS EKS clusters

A review of eksctl and step by step guide how to create and manage AWS Elastic Kubernetes Service (EKS) clusters.

Continue reading

Okteto – How To Create Instant Development Environments In Kubernetes

Okteto empowers developers to get the infrastructure and environments they need instantly and without a steep learning curve.

Continue reading

Kaniko – Building Container Images In Kubernetes Without Docker

How do we build container images inside containers running in a Kubernetes cluster? Docker is a bad option since it cannot run inside containers. Using it requires communication to the Docker engine running in cluster nodes. Even if that security concern is not enough, Dockershim is deprecated in Kubernetes 1.20 and will be (or already is) removed from 1.22. That means that alternative container engines like ContainerD will take its place. In other words, using Docker is not even an option anymore.

Kaniko comes to the rescue. It is a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster.

Continue reading

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