Kubernetes and Cloud Native Associate (KCNA)Cloud Native DeliveryMedium

A developer is working on a new feature branch for a Kubernetes application. To deploy and test this feature in an isolated environment, they need to quickly provision a full set of Kubernetes resources, including a Deployment, Service, and Ingress, with specific configurations for their branch. Which tool helps them achieve this consistent and repeatable deployment of multiple related resources?

  1. AHelm chart installation
  2. Bkubectl apply -f deployment.yaml
  3. CKustomize patch
  4. DDocker Compose
Show answer & explanation

Correct answer: A. Helm chart installation

Helm charts are designed to package and deploy a collection of related Kubernetes resources as a single unit. They support templating and value overrides, making it easy to deploy the same application with different configurations (e.g., for different branches or environments) in a repeatable manner.

Why the other options are wrong

  • B. `kubectl apply` applies individual resources, not a collection with templating.
  • C. Kustomize patches modify existing Kubernetes manifests, not package and deploy a whole application from scratch.
  • D. Docker Compose is for defining and running multi-container Docker applications, not Kubernetes.

Helm for Application Packaging

Helm serves as a package manager for Kubernetes, allowing developers to define, install, and upgrade even complex Kubernetes applications using 'charts' that bundle all necessary resources and configurations.

  • Packages multiple Kubernetes resources (Deployment, Service, ConfigMap, etc.) into a single unit.
  • Uses templates to allow customization via values.
  • Simplifies repeatable deployments across different environments.
  • Manages the lifecycle of applications on Kubernetes.

Memory trick: Helm is the 'all-in-one' builder for your Kubernetes apps.

More Cloud Native Delivery questions