Các tùy chọn với set khi install helm chart

Khi sử dụng Helm cài đặt k8s app thông qua helm chart với helm install ta có thể ghi đè giá trị được define trong file values.yaml của chart thông qua option --set. Tại sao cần sử dụng set? Ta hoàn toàn có thể cài đặt k8s app thông qua helm chart với các giá

Khi sử dụng Helm cài đặt k8s app thông qua helm chart với helm install ta có thể ghi đè giá trị được define trong file values.yaml của chart thông qua option --set.

Tại sao cần sử dụng set?

Ta hoàn toàn có thể cài đặt k8s app thông qua helm chart với các giá trị được define trong file values.yaml tuy nhiên trong một số trường hợp người quản trị muốn các giá trị trong file values.yaml là dynamic như: biến môi trường, biến trong bash script, biến trong ansible playbook. Với các trường hợp này việc cài đặt k8s app qua helm chart và sử dụng --set sẽ dễ dàng giải quyết được vấn đề.

Các kiểu hỗ trợ truyền giá trị qua set

File values.yaml mẫu

kubeStateMetrics:
  enabled: true
  namespaceOverride: ""
  prometheus:
    monitor:
      enabled: true
    hosts: []
      # - thanos-gateway.domain.com
    additionalRuleLabels: {}

Truyền dict
Với các biến dạng dict trong file values.yaml ta có thể ghi đè các giá trị bằng cách chỉ định giá trị của key tương ứng.

helm install chart_name path_chart_folder --set kubeStateMetrics.enabled=true --set kubeStateMetrics.prometheus.monitor.enabled=true

Truyền array
Với các biến kiểu array trong file values.yaml ta có thể truyền array theo 2 cách:

  • Cách 1: Sử dụng cặp dấu {}
helm install chart_name path_chart_folder --set kubeStateMetrics.prometheus.hosts={host1, host2}
  • Cách 2: Chỉ định các phần tử riêng lẻ
helm install chart_name path_chart_folder --set kubeStateMetrics.prometheus.hosts[0]=host1 --set kubeStateMetrics.prometheus.hosts[1]=host2

Truyền giá trị có ký tự đặc biệt
Sử dụng dấu backslash khi giá trị của biến trong file values.yaml chứa các ký tự đặc biệt gồm .[,=

helm install chart_name path_chart_folder --set 'kubeStateMetrics.prometheus.additionalRuleLabels.app.kubernetes.io=prometheus'

Tổng kết

Như vậy là mình đã chia sẻ một số cách truyền biến thông qua --set khi cài đặt helm chart. Cảm ơn các bạn đã theo dõi.

Các nguồn tham khảo

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ