Setup Continuous Deployment for Application with Kubernetes and Argo CD

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. It follows the GitOps pattern of using git repositories as the source of truth for defining the desired application state. With ArgoCD, application deployments can be automated and updates to application can be made at the simple git commit events without the need of any complicated Continuous Integration and/or Deployment Pipelines.

This is our first post in the series of blog post on deploying and managing application with Kubernetes and Argo CD. You can find the series index here.

Read More »

Declarative GitOps Continuous Deployment for Application with Kubernetes, Argo CD, Helm, Kustomize and Kind – Index

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes based application manifests. You can define Kubernetes manifests in plain text yaml files, or use package managers like Helm, or use configuration management tools like Kustomize, JSonnet, etc. in a declarative way.

Argo CD brings everything together by using basic concept of GitOps – Application definitions, configurations, and environments should be declarative and version controlled in a Git repository. Using Argo CD to deploy Kubernetes manifests, you can automate application lifecycle management and enable continuous deployment and delivery in very simple steps. You also do not need to define any CI/CD pipelines for it.

Read More »

Create Kubernetes clusters with Kind, rootless Docker and rootless Podman

Kind is a tool which can be used for running local multi node Kubernetes clusters. Kind was primarily designed for testing Kubernetes itself and associated extensions, but may be used for local development or CI. With the Kind, you can spin up a multi node Kubernetes cluster in couple of minutes, perform your work and then wind it down. And nobody need to worry about the Bill! Starting with kind 0.11.0, Rootless Docker and Rootless Podman can be used as the node provider of kind. Its not running kubernetes in rootless mode as some component of kubernetes stack cannot run rootless yet, however it is certainly a step in that direction.

Read More »

Setup Local Kubernetes Cluster with Docker, WSL2 and KinD – Part 2

In first part of this post, we setup WSL2, Docker Desktop, Enabled Integration of WSL2 with Docker, Setup KinD cluster and spin up a single node and multi node cluster. Since 6 nodes HA cluster was too much for our learning needs, lets first delete it using kind delete cluster --name multicluster and provision a fresh single node cluster for us.

Setup Kubernetes Dashboard

Some people like to see using visual mode, to get on started with things. For this, we can use Kubernetes Dashboard. To set it up, we can use below commands:

Read More »

Setup Local Kubernetes Cluster with Docker, WSL2 and KinD

Kubernetes has raced ahead of other container management platforms in last few years. However there remain difficulties in setup and running multi node clusters for developers to test their container workloads. Many organizations come around this by provisioning separate kubernetes clusters for devs. Some other go to the extent of provisioning one kubernetes cluster per developer. However it soon becomes additional hassle for devs and ops alike and also keeps contributing to company’s rising cost.

Minikube is one of solutions that can be used to solve this scenario but minikube is limited to single node setup. But to gain Kubernetes experience, most need to run multi node solutions or clusters. KinD is a tool which can be used for running local Kubernetes clusters using Docker container nodes. KinD was primarily designed for testing Kubernetes itself, but may be used for local development or CI.

Read More »