Labs ICT
โญ Pro Login

Helm Charts

Package management for Kubernetes applications

Helm Charts

Helm is the package manager for Kubernetes. It simplifies deploying and managing complex applications by bundling Kubernetes manifests into reusable charts.

Helm Chart Structure


  mychart/
  โ”œโ”€โ”€ Chart.yaml          # Chart metadata
  โ”œโ”€โ”€ values.yaml         # Default configuration values
  โ”œโ”€โ”€ templates/
  โ”‚   โ”œโ”€โ”€ deployment.yaml
  โ”‚   โ”œโ”€โ”€ service.yaml
  โ”‚   โ”œโ”€โ”€ ingress.yaml
  โ”‚   โ”œโ”€โ”€ configmap.yaml
  โ”‚   โ””โ”€โ”€ _helpers.tpl    # Template helpers
  โ””โ”€โ”€ README.md

Chart.yaml


  apiVersion: v2
  name: myapp
  description: My application Helm chart
  type: application
  version: 0.1.0      # Chart version
  appVersion: "1.0.0"  # Application version
  dependencies:
    - name: postgresql
      version: "12.x.x"
      repository: "https://charts.bitnami.com/bitnami"

values.yaml


  replicaCount: 3

  image:
    repository: myapp
    tag: "latest"
    pullPolicy: IfNotPresent

  service:
    type: ClusterIP
    port: 80

  ingress:
    enabled: true
    hosts:
      - host: myapp.example.com
        paths:
          - path: /
            pathType: Prefix

  resources:
    limits:
      cpu: 500m
      memory: 256Mi
    requests:
      cpu: 250m
      memory: 128Mi

Helm Commands


  # Install a chart
  helm install myrelease bitnami/nginx

  # Install with custom values
  helm install myrelease ./mychart -f custom-values.yaml

  # Upgrade a release
  helm upgrade myrelease ./mychart --set replicaCount=5

  # Rollback
  helm rollback myrelease 1

  # List releases
  helm list

  # Uninstall
  helm uninstall myrelease

๐Ÿงช Quick Quiz

What is a Helm Chart?