【问题标题】:Dynamically set values in Kubernetes yaml configuration files在 Kubernetes yaml 配置文件中动态设置值
【发布时间】:2020-02-18 00:10:19
【问题描述】:

是否可以在 Kubernetes 入口定义 yaml 文件中动态设置值?

例如:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-ingress
  annotations:
    kubernetes.io/ingress.class: "traefik"
    kubernetes.io/tls-acme: "true"
spec:
  tls:
  - hosts:
    - api.mydomain.com
  rules:
  - host: api.mydomain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: api
          servicePort: http

我想提取硬编码的域api.mydomain.com 并使用环境变量中的值,或者更好的某种抽象配置值。

【问题讨论】:

标签: kubernetes


【解决方案1】:

你真的可以用任何模板包来做到这一点,比如 jinja2 或 Go 模板。这将在将资源提交到 api-server 之前完成,但是在 Kubernetes 中没有本地方法可以动态地完成它。 Ingress 没有环境变量或引用配置映射的方法。

您可能还想查看https://kustomize.io/https://helm.sh/

【讨论】:

    【解决方案2】:

    如前所述,这正是 kustomize 的用途。

    其他模板解决方案包括KapitanksonnetkubecfgyttyqHelm(不仅仅是模板,它还是一个“包管理器”)。

    【讨论】:

      猜你喜欢
      • 2018-06-26
      • 2018-12-18
      • 2018-01-17
      • 2020-01-13
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 2020-09-30
      • 2019-09-09
      相关资源
      最近更新 更多