我想要一些Kubernetes入口配置如下:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: shop-page-ingress
annotations:
nginx.org/server-snippets: |
location / {
proxy_pass https://luz-shop:8443/shop.php?env=SHOP-DEV
proxy_redirect https://luz-shop:8443/ https://$host;
}apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: shop-page-ingress
annotations:
nginx.org/server-snippets: |
location / {
proxy_pass https://luz-shop:8443/shop.php?env=SHOP-TEST
proxy_redirect https://luz-shop:8443/ https://$host;
}唯一不同的是两个环境之间的查询参数:env=SHOP-DEV。问题是,我会组织这些覆盖,但我不知道这是可能还是不可能?我可以像下面这样使用变量基配置并在覆盖配置中指定值吗?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: shop-page-ingress
annotations:
nginx.org/server-snippets: |
location / {
proxy_pass https://luz-shop:8443/shop.php?env=${ENV_NAME}
proxy_redirect https://luz-shop:8443/ https://$host;
}发布于 2021-05-08 08:37:51
不是直接的。Kustomize不处理非结构化替换。但是,它可以通过插件系统进行扩展,这些插件可以是bash或Go中的任意代码(或者是kpt中较新的KRM内容)。其中一个示例插件使用sed运行任意替换https://github.com/kubernetes-sigs/kustomize/blob/master/plugin/someteam.example.com/v1/sedtransformer/SedTransformer。
另一种选择是使用像kustomize build | envsubst这样的管道。
https://stackoverflow.com/questions/67445512
复制相似问题