文章目錄
- Helm配置之為特定Deployment配置特定Docker倉庫(覆蓋全局配置)
- 需求
- 方法1:使用Helm覆蓋值
- 方法2: 在Lens中臨時修改Deployment配置
- 步驟 1: 創建 Docker Registry Secret
- 步驟 2: 在 Deployment 中引用 Secret
- 參考資料
Helm配置之為特定Deployment配置特定Docker倉庫(覆蓋全局配置)
需求
k8s helm配置有一個全局的Helm配置,但想為特定的Deployment配置不同的Docker倉庫和憑據。
方法1:使用Helm覆蓋值
修改Chart模板支持多倉庫配置
如果你經常需要為不同組件使用不同倉庫,可以修改Chart模板使其更靈活:
在values.yaml
中設置默認和組件特定的倉庫配置:
global:imageRegistry: default.registry.comimagePullSecrets:- name: default-pull-secretcomponents:your-server:image:registry: b.yyy.com/yyyrepository: your-servertag: latestpullSecrets:- name: special-pull-secret
在deployment模板中使用條件邏輯:
{{- $registry := .Values.global.imageRegistry }}
{{- $pullSecrets := .Values.global.imagePullSecrets }}{{- if .Values.components.your-server.image.registry }}{{- $registry = .Values.components.your-server.image.registry }}
{{- end