gpt4 book ai didi

kubernetes - Kustomize 如何只替换 Ingress 配置中的主机

转载 作者:行者123 更新时间:2023-12-04 11:50:23 25 4
gpt4 key购买 nike

我有这个 ingress.yaml 基本配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
labels:
sia: aza
app: asap-ingress-internal
name: asap-ingress-internal
annotations:
kubernetes.io/ingress.class: "nginx-external"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: the-host-value
http:
paths:
- path: /asap-srv-template/(.*)
backend:
serviceName: asap-srv-template
servicePort: 8080
并且只想替换 spoec.rules.host 值(并保持所有 http.paths 原样。
所以我创建了一个这样的 env-var.yaml :
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: asap-ingress-internal
spec:
rules:
- host: the.real.hostname
但结果如下:
$ kustomize build
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx-external
nginx.ingress.kubernetes.io/use-regex: "true"
labels:
app: asap-ingress-internal
env: dev
sia: aza
name: asap-ingress-internal
namespace: aza-72461-dev
spec:
rules:
- host: the.real.hostname
我丢失了所有 http.paths 配置,我不知道该怎么做。
我尝试使用 patch: 或 kustomization.yaml 中的 patchStrategicMerge 但结果始终相同。
任何帮助将不胜感激

最佳答案

您可以为此使用 json 补丁,下面是一个示例。
这是一个例子 kustomization.yaml .它将在 patches 中调用一个补丁部分:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- ../../base/app1

patches:
- target:
kind: Ingress
name: my-ingress
path: ingress-patch.json
这是一个例子 ingress-patch.json :
[
{
"op": "replace",
"path": "/spec/rules/0/host",
"value": "the.real.hostname"
}
]

关于kubernetes - Kustomize 如何只替换 Ingress 配置中的主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66568194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com