我有一个支持外部TLS的服务,我希望我的pod可以访问
abc.myservice.acme解析为1.2.3.4。我希望用另一个(比如5.6.7.8)覆盖这个IP地址,以便使用pod。
我会为每个pod&etc / etc / hosts添加一个条目来覆盖IP地址,但是我 感觉它是一种反模式,并且可能是一种更好的方法。
我调查/尝试过:
创建服务+端点。这样做有问题,但问题是SSL证书的SAN条目中没有服务名称,所以我得到了一个" SSL:没有替代证书主题名称与目标主机名相匹配&#39 ; SVC-外部ACME'"信息。当然我可以将它添加到证书SAN中,但它可能不是正确的解决方案。
在工作节点上安装DNSmasq(https://developers.redhat.com/blog/2015/11/19/dns-your-openshift-v3-cluster/)但又感觉像是一个复杂的黑客攻击。必须有一个更简单的。
HOSTALIASES。不幸的是,这仅适用于kube 1.7+,但我在openshift 3.5(kube 1.6)上使用。这本来是完美的。
有什么方法可以在openshift中完成#3?
我可以编辑图像以回显我想要进入/ etc / hosts的条目,但我将它保存为最后的手段。
-M
答案 0 :(得分:0)
也许我回答这个问题有点晚了
我的开发环境存在类似的问题,我们设法解决的问题是:
RUN mkdir -p /app/hosts
lifecycle:
postStart:
exec:
command:
- /bin/sh
- '-c'
- |
cat /app/hosts/hosts-delta >> /etc/hosts
上一个代码段应放在 spec>模板> spec>容器元素内
希望这对某人有帮助