创建后如何重命名舵图?

问题描述 投票:0回答:3

我使用以下命令创建了一个名为“abc”的舵图

helm create abc
现在,当我安装此图表时,创建的所有 kuberenets 资源的名称都将包含“abc”。

现在我必须将图表“abc”重命名为“xyz”。 如果我使用

helm install --name xyz ./abc
仅图表名称更改为 xyz。里面的资源仍然是“abc”。

我需要重命名整个图表(及其资源)以进行重命名。 我有什么选择吗?

charts kubernetes dependencies rename kubernetes-helm
3个回答
1
投票

我多次遇到这个问题,我找到了最简单的解决方案。 只需 2 步:

  1. 查找并替换图表文件中的名称。
  2. 重命名图表目录名称

如果您的图表名称非常独特,那就非常简单了。

默认情况下,文件中使用图表名称: Chart.yaml
模板/_helpers.tpl


0
投票

这里提到的方法似乎更好:https://engineering.salesforce.com/how-to-rename-a-helm-release-6fdcd7526ac7/

总而言之,您最终会孤立这些资源,然后重新采用它们 IIUC。请注意,降价有点笨拙,有趣的是该帖子实际上引用了这个问题。

如果舵手们刚刚在这里发布了最佳实践,那就太好了:https://helm.sh/docs/howto/charts_tips_and_tricks/


-1
投票

您可以使用

xyz
访问
{{ .Release.Name }}
,并且需要使用
{{ .Release.Name }}
更新资源名称,以便每次都会动态获取名称:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}
  labels:
    app.kubernetes.io/name: {{ .Values.app.dbName }}
    app.kubernetes.io/instance: {{ .Release.Name }}
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: {{ .Values.app.dbName }}
      app.kubernetes.io/instance: {{ .Release.Name }}
  template:
    metadata:
      labels:
        app.kubernetes.io/name: {{ .Values.app.dbName }}
        app.kubernetes.io/instance: {{ .Release.Name }}
    spec:
      containers:
        - image: mysql:5.6
          name: "{{ .Release.Name }}-mysql" // or just {{ .Release.Name }}
© www.soinside.com 2019 - 2024. All rights reserved.