问题标签 [kustomize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - 是否可以从环境变量中获取容器主机路径?
我正在尝试在 kubernetes 中设置可配置的主机路径,但我遇到了问题。我创建了一个配置映射,其中包含路径,然后我尝试用配置映射值替换占位符。这是我的配置:
我也试过
我要么得到错误:Error response from daemon:
create $(PHP_FOLDER): "$(PHP_FOLDER)" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path
要么MountVolume.SetUp failed for volume "src-code" : hostPath type check failed: PHP_FOLDER is not a directory
kubernetes - 使用默认配置扩展部署
我有一个配置映射,它定义了一些变量,如环境,然后传递到很多这样的部署配置中
秘密和一些像 ssl 证书这样的卷在配置中也很常见。是否有一些 kubernetes 类型可以创建扩展正常部署的基本服务部署?或者有什么其他的方法来解决这个问题?也使用 kustomize,那里可能有一个选项。
kustomize - 如何使用 kustomize 创建命名空间?
我有一个像这样使用 kustomize 的简单项目:
与kustomization.yaml
是:
并且namespace.yaml
是:
问题是当我这样做时:kustomize build ./base
我有这个:
我怎么能有
谢谢。
kubernetes - 将 yaml 数组作为 env 添加到 kubernetes/kustomize
所以,我有一个看起来像这样的 yaml 文件:
我需要将它添加到 env 中(在 Spring Boot 的优先级列表中,来自 env 的配置高于来自 yaml 的配置。这将基于 env(dev,stage,live))。我已经用 Kustomize 试过了
然后在部署中使用它
config.yml 中的其他配置如下:
然后为 configMapGenerator 添加 .properties 文件,如下所示:
但是带有数组的配置似乎不起作用。
关于我在哪里错过了诀窍的任何提示?此外,密码来自 credstash;所以,我有一个不同的脚本,它从 credstash 获取值并为 Secret 创建一个清单。
添加密码的最终目标在 Deployment 中是这样的:
bash - 如何使用 'tr' 仅查找和替换 ---
所以,我有一个命令 ( kustomize build
) 的输出,我想将---
输出中的###
. 例如:
我想将其更改为:
我试过$ kustomize build | tr '\---' '#'
了,但这甚至替换了单个'-'
to的每个实例'#'
。我什至尝试过tr '[-]{3}' '#'
,但即使那样也无济于事。我该怎么做呢?
kubernetes - 定制化:多个volumeMounts中的补丁
我正在尝试将(patchJSON6922)多个volumeMounts修补到基本kustomization。但是,当我修补多个 volumeMounts 时,会出现错误。这是我的配置:
自定义.yaml
create_volume_one.yaml
create_volume_two.yaml
当我运行说 kustomization 时,我收到以下错误:
我尝试了各种路径(有和没有-
之后,volumeMounts
但无济于事)。
当我注释掉 create_volume_two.yaml 部分时,一切正常。所以我想知道我需要做什么才能volumeMounts
正确追加。
任何帮助将不胜感激。谢谢,
docker - 如何为 Kubernetes yaml 中的所有图像获取解析的 sha 摘要?
Docker 镜像标签是可变的,因为它们image:latest
都image:1.0
可以指向image@sha256:.....
,但是当版本1.1
发布时,image:latest
存储在注册表中的镜像可以指向具有不同 sha 摘要的镜像。现在拉取带有特定标签的图像并不意味着下次将拉取相同的图像。
如果 Kubernetes YAMl 资源定义按标签(而不是按摘要)引用图像,是否有一种方法可以在部署资源定义之前确定每个图像实际解析为什么 sha 摘要?是否使用kustomize或支持此功能kubectl
?
用例希望在部署到另一个环境之前确定在一个环境中实际部署了什么(我想获取已解析资源定义的哈希值,然后可以使用它来了解是否image:1.0
部署到 PROD 指的是相同image:1.0
的被部署到 UAT)。
是否有任何工具可用于支持此功能?
例如,给定以下 YAML,有没有办法用解析的摘要替换所有图像?
要得到这样的东西:
我希望能够通过工具执行管道 yaml (可能来自cat
,kustomize
或kubectl ... --dry-run
)之类的操作,然后传递给kubectl apply -f
:
编辑:
其背景是需要能够向审计员/监管机构证明即将部署到一个环境 (PROD) 的内容正是已成功部署到另一个环境 (UAT) 的内容。我想在部署模板中使用普通标签,并在部署到 UAT 时,拍摄模板的快照,并将标签替换为已解析图像的摘要。该快照将是部署的(通过kubectl
或类似方式)。部署到 PROD 时,将使用相同的快照。
kubernetes - 如何覆盖命名空间覆盖
在以下场景中,我在 ../base/ 中定义了我的容器。
在这个 /dev/ 目录中,我想启动命名空间 dev 中的所有部署和状态集。
问题是我还想在 local-path-storage 命名空间中运行 local-path-storage CSI。kustomize 将覆盖它并在“dev”命名空间中创建它。
如何撤消仅针对 local-path-storage.yaml 的命名空间覆盖?
kubernetes - 我应该更喜欢 Kustomize 而不是 Helm
Kustomize 的引入看起来像是在努力填补 Kuberenetes 中本地管理清单参数化的空白。
而 Helm 是该领域的主流玩家。我认识到 Helm 不仅仅是一个提供更多价值的模板工具(发布版本管理、蓝绿部署支持等)
然而,虽然 Kustomize 是一个原生功能,但我是否应该开始更喜欢它,假设它是长期发展的?
UPD:虽然它已被搁置为基于意见,但我想它可以改写为任何一个选项的最佳用例是什么。
kubernetes - 将多个 k8s 自定义组合为一个
在 Kubernetes 中,我有一个基本的 kustomize 包和两个补丁,每个补丁调整基础的不同方面 - 一个用于大型部署,另一个用于使用旧映像而不是当前映像。有没有一种方法可以创建一个“组合”补丁 - 具有两个更改的补丁,而无需复制大型和旧补丁内容?
当我尝试简单地将两个补丁用作组合补丁中的基础时,我收到如下错误:
Error: ../legacy: id '"~G_v1_ConfigMap|~X|~P|pg-database|~S"' already used