替换 Kubernetes YAML 中的任意字段

替换 Kubernetes YAML 中的任意字段

我想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 工具,因为我希望能够从不同的系统/操作系统应用配置。

相关内容