![替换 Kubernetes YAML 中的任意字段](https://linux22.com/image/786305/%E6%9B%BF%E6%8D%A2%20Kubernetes%20YAML%20%E4%B8%AD%E7%9A%84%E4%BB%BB%E6%84%8F%E5%AD%97%E6%AE%B5.png)
我想configMap
在容器规范之外使用 Kubernetes YAML 中的变量。
基本上,我正在寻找一种方法来用 configMap 条目的值替换我的配置中的文本,因为我在多个命名空间中拥有几乎相同的资源。
例如,想象一下以下情况configMap
:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
data:
system.host: host.example.com
然后,我想在其他资源中使用此值configMap
,例如HttpRoute
:
apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
name: my-system-route
spec:
parentRefs:
- name: my-gateway
namespace: my-gateway-namespace
hostnames:
# I would imagine something along the lines of this
- ${config/my-config/system.host}
rules:
- matches:
- path:
value: /
backendRefs:
- name: my-backend-service
port: 8080
kind: Service
并被${config/my-config/system.host}
替换为host.example.com
。
理想情况下,我希望 Kubernetes 能够取代它,而不是使用其他 CLI 工具,因为我希望能够从不同的系统/操作系统应用配置。