为什么 helm 不使用部署模板中定义的名称?

2024-04-07

即来自name: {{ .Chart.Name }}-{{ .Values.module5678.name }}-pod below

# deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: {{ template "project1234.name" . }}
    chart: {{ template "project1234.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
  name: {{ template "project1234.module5678.fullname" . }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ template "project1234.name" . }}
  template:
    metadata:
      labels:
        app: {{ template "project1234.name" . }}
    spec:
      containers:
      - image: "{{ .Values.image.name }}:{{ .Values.image.tag }}"
        name: {{ .Chart.Name }}-{{ .Values.module5678.name }}-pod
        ports:
        - containerPort: 1234
      imagePullSecrets:
      - name: {{ .Values.image.pullSecret }}

我期望 pod 名称为:

pod/project1234-module5678-pod

相反,生成的 Pod 名称是:

pod/chartname-project1234-module5678-dc7db787-skqvv

...哪里(以我的理解):
图表名称来自:helm install --name chartname -f values.yaml .
项目1234来自:

# Chart.yaml

apiVersion: v1
appVersion: "1.0"
description: project1234 Helm chart for Kubernetes
name: project1234
version: 0.1.0

模块5678来自:

# values.yaml

rbac:
  create: true

serviceAccounts:
  module5678:
    create: true
    name:

image:
  name: <image location>
  tag: 1.5
  pullSecret: <pull secret>

gitlab:
  secretName: <secret name>
  username: foo
  password: bar

module5678:
  enabled: true
  name: module5678
  ingress:
    enabled: true
  replicaCount: 1
  resources: {}

我尝试过改变name: {{ .Chart.Name }}-{{ .Values.module5678.name }}-pod转换为像“podname1234”这样的纯字符串值,并且不遵循它。我什至尝试完全删除名称设置,结果 pod 名称保持不变。


从 Deployment 创建的 Pod 始终具有基于 Deployment 名称生成的名称(如果您去查找的话,还有中间 ReplicaSet 的名称)。你无法覆盖它。

鉴于您显示的 YAML,我希望该片段:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ template "project1234.module5678.fullname" . }}

扩展为 Deployment 名称chartname-project1234-module5678;其余的位由 ReplicaSet 添加,然后由 Pod 本身添加。

如果您查找 Pod 并kubectl describe pod chartname-project1234-module5678-dc7db787-skqvv您可能会看到它有一个具有预期名称的容器project1234-module5678-pod。几乎只有当您需要时才需要使用它kubectl logs(或者,更罕见的是,kubectl exec) 在多容器容器中;如果您处于这种情况,您会喜欢使用较短的名称,并且由于容器名称的范围始终限于它们出现的特定 pod,因此此处使用较短的固定名称没有任何问题

spec:
  containers:
  - name: container
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 helm 不使用部署模板中定义的名称? 的相关文章

随机推荐

  • 将两个不同的 ActiveRecord 集合合并为一个

    我想创建所有公司活动的可视化时间表 时间线的 HTML 是使用loop 为了简单起见 我们假设两个模型Hire Deal 两种型号都有一个date属性和一些模型特定的属性 我如何合并ActiveRecord两个模型的结果 然后order组合
  • 如何在SoundManager2中添加歌曲进度条?

    我正在尝试添加一个进度条来显示歌曲在播放过程中所处的位置 它只需要一个简单的解决方案 我在网上找到了一些代码 其中使用了SoundManager2http www schillmania com projects soundmanager2
  • Google 脚本 - 表单 - 删除分页符/部分时出现问题 - “无效数据更新表单”

    当我尝试迭代表单中的项目并删除它们以为新的部分 问题让路时 我遇到了以下代码的问题 但是 我有时会收到以下错误 无效的数据更新表单 我已经多次解决这个问题 但它不断出现 我当前的解决方法是将部分标题设置为 这样就可以删除它 以前 直到今天我
  • 如何从一组点中绘制最大的多边形

    所以 我有一组点 x y 并且我希望能够以这些点作为顶点绘制最大的多边形 我可以在 matplotlib 中使用 patch Polygon 但这只是按照我给出的顺序在点之间绘制线条 这不会自动执行我想要的操作 举个例子 如果a想要画一个正
  • 如何在UIActionSheet中显示自定义视图?

    我有一个带有日期选择器的 UIView 我想将其显示在操作表中 我正在使用以下代码 IBAction button click id sender UIActionSheet sheet UIActionSheet alloc initWi
  • RAILS 用户层次结构;班级、协会。多态性?

    我很惊讶找到一个明确的答案是多么困难 这似乎很常见 我一定是看错了 我们有用户 他们的授权角色运行类似 角色 w 管理员版主老师学生被禁止 通常建议使用 ROLES 字段和单表继承 如here https stackoverflow com
  • jQuery UI 自动完成:当没有搜索匹配时返回“未找到”

    这里是新手编码员 我有一个带有 jQ uery 自动完成功能的搜索栏 通过本地 json 数组进行搜索 当没有找到匹配项时 我想返回一个字符串 Nothing found 我已经尝试过 grep 中的 if 语句 但到目前为止没有任何效果
  • 如何在 odoo 中打印重复的 qweb 报告?

    我创建了一份运行良好的报告 现在我在表单的标题名称 打印重复 中创建了一个按钮 它将打印相同的报告 但是 当我点击 打印副本 按钮 我想在报告顶部打印 重复报告 截屏 https i stack imgur com Hiu67 png 单击
  • gulp通过markdown json用jade生成html文件

    我在用着gulp markdown to json and gulp jade 我的目标是从 markdown 文件中获取数据 如下所示 template index jade title Europa This is a test gra
  • 更改 TFS 工作项类型

    是否可以更改 TFS 工作项的类型 例如 我有一个 Bug 我想将其更改为更改请求 如前所述 您无法直接更改工作项类型 但是有一个很好的快捷方式可以为您在这些情况下节省大量时间 它将自动复制更改集 测试用例等的链接 右键单击您的工作项并选择
  • 无法使用类型为“(start: String.Index, end: String.Index)”的参数列表调用类型“Range”的初始值设定项

    let greenHex hex substring with Range
  • Postgres regr_slope 返回 NULL

    有人可以帮我了解一下情况吗regr slope数据集中有行时返回 NULL 例如 log gt select from sb1 order by id ts id elapsed ts 317e 86 1552861322 627 317e
  • Xcode 自定义字体未显示在 Storyboard 中

    我将两种字体添加到我的项目文件夹中 我将它们添加到 info plist 中 我在故事板的自定义字体列表中看不到它们 我做错了什么 我知道这是一个很老的问题 但我遇到了同样的问题 而且上述提示对我不起作用 除了标准检查 存在于捆绑包中 重新
  • Rspec 不删除 2 个特定表

    我正在使用 Rspec 来测试 Rails 应用程序 我有 2 个导入数据的表 测试数据库和开发数据库 整个应用程序依赖于表数据 这意味着整个功能是匹配 计算和测量该表中的数据并将其放入其他表中 因此 在测试时 删除这些表的数据是没有意义的
  • 为什么java没有byte类型后缀? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 独立验证表单片段

    我有一个非常大的表格 我以类似向导的方式将其分成四个部分 向导插件 智能向导 具有当前处于焦点的表单段 而其余 3 个段隐藏在 dom 中 我正在使用 jquery 验证插件来动态验证表单 问题是验证所显示的表单部分 仅当用户进入下一步时
  • 在 Eclipse 中找不到 run as junit test

    我在 Eclipse 中创建了一个这样的测试类 RunWith SpringJUnit4ClassRunner class ContextConfiguration locations classpath applicationContex
  • 初学者:Scala 2.10 中的 Scala 类型别名?

    为什么此代码无法编译并出现错误 未找到 值矩阵 从文档和一些 可能已经过时的 代码示例来看 这应该可行吗 object TestMatrix extends App type Row List Int type Matrix List Ro
  • 模板参数推导:哪个编译器在这里?

    考虑以下代码 template
  • 为什么 helm 不使用部署模板中定义的名称?

    即来自name Chart Name Values module5678 name pod below deployment yaml apiVersion apps v1 kind Deployment metadata labels a