Customize the YAML’s to enforce policies from application operators, security operators, and cluster operators.

Image for post

Kubernetes let us to declaratively specify our intent on how the applications should be deployed in the underlying infrastructure through YAML. These YAML’s will have application definition, tags needed for governance, tags needed for cross-cutting concerns like logging, application security context definitions, application resource dependencies, etc. The moment we start scaling our Kubernetes to ten’s and hundred’s of pods, it will become a nightmare to manage all YAML’s.To put us in perspective these declarative configs can be classified into three main categories

  1. Application PackagingApplication ConfigRuntime Config

Image for post

Can’t Helm help do this already with ease? why do we need a new tool? What is that the new tool can bring to the table? How Helm and Kustomize can together enable some of the powerful use-cases? Lets attempt to answer all these questions throughout this blog.

Image for post

What Helm is good and not good?First, let’s have a look into the different technical capabilities needed for deploying applications into Kubernetes.Application Packaging & Description

A capability that will help us to describe the application and package relevant resources together eg., 1) Application Metadata definition like resource constraints, 2) Packing a pod with config and service

Dependency Management

A capability that will help us to define dependencies like, deploy the config resource before deploying pod resource.

Application Discovery & Dashboard

A capability that will help us to discover the application deployed in the cluster, and their deployment history, dependencies, etc.,

Life Cycle Management

A capability that will help us to execute different application deployment strategies like rollout, rollback, blue-green deployment.

#kustomize #helm #k8s #declarative-programming #kubernetes

Helm Is Not Enough, You Also Need Kustomize
2.65 GEEK