【发布时间】:2021-06-19 02:14:10
【问题描述】:
我在 Oracle 云中有一个 3 节点 OKE 集群设置。
我在集群中部署了一个 nginx 入口控制器。 我将 FQDN test.myapp.com 映射到该 nginx 入口控制器服务的 EXTERNAL_IP。
每当我在测试期间重新安装入口控制器时,它都会获得不同的 EXTERNAL_IP,我必须再次将 FQDN 映射到该新 IP。
所以如果我能在安装 nginx 入口控制器时指定一个静态 loadBalancer IP 会更好。像这样:
nginx-ingress:
controller:
service:
loadBalancerIP: "125.23.119.23"
如何在 Oracle 云中实现这一点(使用 OKE)?
【问题讨论】:
-
ExternalDNS 对您有帮助吗? github.com/kubernetes-sigs/external-dns#externaldns ExternalDNS 允许您通过 Kubernetes 资源动态控制 DNS 记录。从它的文档中我看到它支持 Oracle 云基础设施 DNS。这将帮助您不依赖静态 External_IP 并通过监控您的
Service Annotations和/或Ingress Host自动创建/删除 DNS 记录 -
@rock'nrolla 但它似乎不支持我的服务提供商。对于oracle,我需要的是这样的东西:docs.microsoft.com/en-us/azure/aks/…(这是在天蓝色的云中)。
-
我可能没有直截了当地思考,但是如果您在 nginx 控制器服务的
loadBalancerIP中使用预先保留的 IP(如 AWS 中的 ElasticIP)会发生什么——就像您提到的那样。我看到 nginx ingress helm chart 允许这样做:github.com/helm/charts/blob/master/stable/nginx-ingress/… 创建的 LB 是否不使用此 IP? -
@rock'nrolla 我尝试为示例服务设置
loadBalancerIP。但是外部IP 仍然是<pending>。并且出现错误Error syncing load balancer: failed to ensure load balancer: invalid service: OCI does not support setting LoadBalancerIP。那就是说不可能?
标签: oracle kubernetes service static static-ip-address