【发布时间】:2019-10-16 14:44:31
【问题描述】:
我想知道是否有任何方法可以外部化我的主机别名以便从值文件中读取以因环境而异。
deployment.yaml
...
hostAliases:
valueFrom:
configMapKeyRef:
name: host-aliases-configuration
key: hostaliases
configmap.yaml 种类:ConfigMap 元数据: 名称:主机别名配置 数据: 敌意:| {{ .Values.hosts }}
values.yaml 主持人: - ip:“13.21.219.253” 主机名: - “test-test.com” - ip:“13.71.225.255” 主机名: - “test-test.net”
这不起作用:
helm install --name gateway.
错误:发布网关失败:版本“v1”中的部署不能作为部署处理:v1.Deployment.Spec:v1.DeploymentSpec.Template:v1.PodTemplateSpec.Spec:v1.PodSpec.HostAliases:[]v1。 HostAlias:解码切片:期望 [ 或 n,但发现 {,在 ...|Aliases 的 #10 字节中发现错误:{“valueFrom|...,更大的上下文 ...|config”,“name”:” config-volume"}]}],"hostAliases":{"valueFrom":{"configMapKeyRef":{"key":"hostaliases|...
我想知道是否有任何方法可以通过 env 将这些 url 外部化,也许可以使用另一种方法。
【问题讨论】:
-
我建议阅读 Kubernetes 文档中的DNS for Services and Pods 和ExternalName services 的讨论;您的云提供商或托管环境可能也有您可以使用的 DNS 服务(例如:AWS Route 53)。传播大量手动主机条目通常不是最佳做法。
标签: kubernetes hosts configmap