文章目录
- 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.com
imagePullSecrets:
- name: default-pull-secret
components:
your-server:
image:
registry: b.yyy.com/yyy
repository: your-server
tag: latest
pullSecrets:
- 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