问题标签 [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 - Kube 对象引用
我想引用由 CRD 创建的对象的属性。
这是我的例子。我使用来自https://github.com/GoogleCloudPlatform/k8s-config-connector的 CRD 创建了一个 Cloud SQL 实例。
这会生成一个带有 IP 的实例。我想在另一个资源中引用 IP 地址。
有没有类似于下游 API 的东西可以让我这样做?
如果我不能原生地做到这一点,我可以使用 Helm、Helmfile 或 Kustomize 等第三方模板工具来做到这一点吗?
skaffold - Skaffold Kustomize 将外部环境变量传递到 kustomization.yaml
有没有办法可以将外部环境变量从Skaffold
.
假设我在下面有一个自定义文件
我有使用图像名称和标签导出的环境,并希望kustomization.yaml
在执行时传递skaffold deploy
或dev
有没有办法做到这一点,或者是否有任何解决方案或解决方法可以将外部环境变量传递到kustomization.yaml
?
我知道我实际上可以使用kustomize edit set image
但很丑,因为我需要设置旧的图像名称,我尽量避免。我想要一个更简单的解决方案。我找不到任何说kustomize
可以使用系统中的环境变量的地方,例如docker-compose
使用${VAR}
或尝试访问系统环境变量时使用的环境skaffold
变量{{.VAR}}
kubernetes - Helm 和 Kustomize 有什么区别?
我使用 Kubernetes 和 Helm 已经有一段时间了,现在第一次遇到 Kustomize。
但是 Kustomize 和 Helm 之间到底有什么区别呢?
两者都只是捆绑 K8s 元素(如服务、部署等)的不同解决方案吗?或者同时使用 Helm 和 Kustomize 是否有意义?
amazon-web-services - 如何在 Terraform 中将 Amazon EFS 与 EKS 结合使用
到目前为止,我有 2 个目录:
aws/
k8s/
里面aws/
是.tf
描述 VPC、网络、安全组、IAM 角色、EKS 集群、EKS 节点组和一些 EFS 挂载的文件。这些都是使用 AWS 提供者,状态存储在 S3 中。
然后在k8s/
我使用 Kubernetes 提供程序并在我创建的 EKS 集群中创建 Kubernetes 资源。此状态存储在不同状态文件的同一 S3 存储桶中。
我无法弄清楚如何将 EFS 挂载作为持久卷挂载到我的 pod。
我找到了描述使用 efs-provisioner pod 来执行此操作的文档。请参阅如何将 EFS 与 EKS 结合使用?.
在最近的 EKS 文档中,他们现在说要使用Amazon EFS CSI 驱动程序。第一步是做一个kubectl apply
如下文件。
有谁知道我会如何在 Terraform 中做到这一点?或者一般如何将 EFS 文件共享作为 PV 挂载到 EKS 集群?
kubernetes - 如何在 k8s 中使用 Kustomize 添加新的 ClusterRoleBinding 而不删除现有绑定?
当我输入时kubectl edit clusterrolebinding foo-role
,我可以看到类似的内容:
我可以通过将以下配置附加到上述文件来添加新ClusterRoleBinding
的命名空间:ns3
但是,我想使用 Kustomize 添加新的绑定,而不是手动修改上述文件。
我尝试在下面应用 .yaml 文件:
它确实ClusterRoleBinding
在命名空间中添加了一个新的ns3
,但它会删除现有ClusterRoleBinding
的 s for ns1
and ns2
。
有没有办法在ClusterRoleBinding
不删除现有内容的情况下使用 Kustomize 添加新内容?
kubernetes - 如何展平从 configMapGenerator 生成的 configMap?
我正在尝试使用 Kustomize 从包含键值对的文件中生成 ConfigMap。我的自定义文件包含以下内容:
environment.properties 文件包含以下内容:
生成的输出包含以下内容:
我怎样才能展平这个数据结构?我宁愿有这个输出:
kubernetes - 如何让 Kustomize 覆盖忽略 base 中的 secretGenerator?
我正在为多个应用程序编写 Kustomize 配置,并使用覆盖来覆盖暂存和生产环境的基本配置。基本配置从名为 dev.json 的文件中创建一个秘密,并将该秘密命名为 -dev-config。登台环境也在开发模式下运行并使用相同的密钥。生产从名为 production.json 的文件中创建一个秘密,并将该文件命名为 -prod-config。
当我在生产环境中启动应用程序时,正在创建 dev secret 和 prod secret。我需要在 prod kustomization.yaml 中添加什么来告诉它忽略基本的 secretGenerator?在 prod 服务器上拥有 dev 配置似乎并没有太大的安全漏洞,但我还是想避免它。
kubernetes - 在 kustomize 叠加层之间共享补丁 - 不识别转换器
我正在尝试在叠加层之间共享 JSON 补丁。我可以做类似的事情:
但是我必须为每个覆盖复制完整的目标。我更愿意在一个地方描述目标和补丁,然后将其拉入需要它的叠加层。
因此,我尝试在您有一个指令的情况下使用这种方法,指向一个显式触发插件的文件。kustomization.yaml
transformers
从文档看来,这应该适用于我的叠加层kustomization.yaml
:
但是当我跑步时,kubectl apply -k
我得到:
谁能指出我做错了什么?有一个更好的方法吗?
kubernetes - kustomize 和 kubectl 没有找到 CRD
我正在使用 kustomize 将清单传输到新的 k8s 集群(v1.17.2)上的 kubectl。这包括 CRD,但其他对象无法找到它们。例如:
CRD 是在我的 kubectl 部分中定义的resources
,它们显示在我正在传输到 kubectl 的输出中,而且我确信这种将所有内容放在一个文件中的方法在我上次这样做时有效。
如果我先应用 CRD,然后分别应用主清单,一切都会顺利进行。我可以同时做所有这些吗?如果是这样,我做错了什么;如果没有,为什么它以前有效?
谁能指出问题可能出在哪里?
示例 CRD 定义: