Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
      • Pod
    • Helm Chart
    • OAuth2 Proxy
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Argo Events
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • DevSecOps
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
      • Azure Cloud
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log, Monitor & Tracing
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Helm Chart] Learning Helm on Kubernetes in 60 minutes!!

Posted on June 8, 2021November 30, 2023 By nim No Comments on [Helm Chart] Learning Helm on Kubernetes in 60 minutes!!

Contents

Toggle
  • Anh em cần coi clip của anh này là master helm liền.
  • Intall helm cli on linux
  • Install helm cli on windows
  • Các xuất file value.yaml của helm-chart
  • Cách để print helm chart ra từng file.
  • get manifest/value of helm that is installed on k8s
  • Use Golang language in Helm chart

Anh em cần coi clip của anh này là master helm liền.

https://www.youtube.com/watch?v=LWW8_S0dbG8

Không hiểu sao nó không hiện video. Rất hay các bạn tự click nhé.

Intall helm cli on linux

install helm trên ubuntu:

curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
sudo apt-get install apt-transport-https --yes
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

Install helm cli on windows

https://www.youtube.com/watch?v=L3iNhrjQILM

Access this link: https://github.com/helm/helm/releases/

Download về và giải nén

thế là ok.

Tạo ra 1 chart mẫu

helm create fullname-override

Câu lệnh ví dụ:

helm template generic/ --values /root/value_helm_tiki.yaml

gen ra 1 package helm

helm package ./tikici-helm-charts/common -d tikici-helm-charts/generic/charts/

Đánh index để public helm chart trên github

helm repo index ./

Các xuất file value.yaml của helm-chart

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
-->"rancher-latest" has been added to your repositories

helm search repo rancher-latest
>>output
NAME                  	CHART VERSION	APP VERSION	DESCRIPTION                                       
rancher-latest/rancher	2.6.0        	v2.6.0     	Install Rancher Server to manage Kuberne

helm show values rancher-latest/rancher > rancher.yaml
>>Lúc này chúng ta thấy file value được xuất ra
root@work-space-u20:~/mylab-helm-chart/value-helm# ls
rancher.yaml

Nếu bạn gõ:
helm install cron-test  ./ --values ./value_helm.yaml

mà gặp lỗi này: Error: cannot re-use a name that is still in use

helm ls -n <namespaces>
helm delete -n my-namespace my-release

Cách để print helm chart ra từng file.

helm search repo spinnaker
helm pull opsmx/spinnaker --untar
mkdir rendering

helm template --dry-run spinnaker <folder_helm-chart> | awk -vout=<folder_manifest-yaml> -F": " '$0~/^# Source: /{file=out"/"$2; print "Creating "file; system ("mkdir -p $(dirname "file"); echo -n "" > "file)} $0!~/^#/ && $0!="---"{print $0 >> file}'

example:
helm template --dry-run spinnaker ./spinnaker | awk -vout=./rendering -F": " '$0~/^# Source: /{file=out"/"$2; print "Creating "file; system ("mkdir -p $(dirname "file"); echo -n "" > "file)} $0!~/^#/ && $0!="---"{print $0 >> file}'

https://github.com/helm/helm/issues/4680#issuecomment-613201032

get manifest/value of helm that is installed on k8s

PS C:\Users\thang.tran> helm.exe list -A
NAME                            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                                   APP VERSION
aws-load-balancer-controller    kube-system     1               2022-06-02 12:42:38.33274549 +0000 UTC  deployed        aws-load-balancer-controller-1.3.2      v2.3.0

PS C:\Users\thang.tran> helm -n kube-system get values aws-load-balancer-controller
USER-SUPPLIED VALUES:
clusterName: mdc-platf-dev-fed
image:
  tag: v2.3.0
serviceAccount:
  create: false
  name: aws-load-balancer-controller

>>> In order to get manifest(deploy, service, ingress,...)
helm get manifest aws-load-balancer-controller -n kube-system

Use Golang language in Helm chart

mình sử dụng printf trong helm chart
cài này nó hao hao giống code golang còn trong helm chart nó gọi là:
https://helm.sh/docs/chart_template_guide/function_list/

image: "{{ .Values.linux.image.repository }}:{{ .Values.linux.image.tag | default (printf "prod-linux-%s" .Chart.AppVersion) }}"
Helm Chart, Kubernetes & Container

Post navigation

Previous Post: [Spinnaker-Github-Helm-K8S]Hướng dẫn cấu hình Spinnaker deploy lên kubernetes dựa vào Helm
Next Post: Hướng dẫn sử dụng ingress nginx và control ingress bằng annotations trên k8s

More Related Articles

[Helm-k8s] Researching to write a unit test for your helm chart – Kubernetes Helm Chart
[Longhorn/Storage] Install Longhorn on Kubernetes through helm and config Taints and Tolerations Kubernetes & Container
[Kubernetes] Gateway API – Ingress And Service Mesh Spec Replacement? Kubernetes & Container
[istio] Sử dụng istio-operator và istioctl để cài đặt Istio Isito-EnvoyFilter
[Datree] Admission Controllers Or CLI? Kubernetes Policy Validations with Datree Kubernetes & Container
[Kubernetes] Lesson5: k8s easy – Multi-container, Probes Kubernetes & Container

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [Laravel] Laravel Helpful June 26, 2025
  • [VScode] Hướng dẫn điều chỉnh font cho terminal June 20, 2025
  • [WordPress] Hướng dấn gửi mail trên WordPress thông qua gmail. June 15, 2025
  • [Bitbucket] Git Clone/Pull/Push with Bitbucket through API Token. June 12, 2025
  • [Teamcity] How to transfer the value from pipeline A to pipeline B June 9, 2025

Archives

  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • Argo Events
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • DevSecOps
    • Golang
    • Jquery & JavaScript
    • Laravel
    • NextJS 14 & ReactJS & Type Script
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • Azure Cloud
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
      • Pod
    • Longhorn – Storage
    • MetalLB
    • OAuth2 Proxy
    • Vault
    • VictoriaMetrics
  • Log, Monitor & Tracing
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Fluent
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2025 NimTechnology.