首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多入口控制器不同区域裸机

多入口控制器不同区域裸机
EN

Stack Overflow用户
提问于 2021-11-11 13:55:30
回答 1查看 80关注 0票数 1

我有两个分区,每个都有主节点。今天,我创建了一个简单的入口nginx控制器,并成功地将DNS test.example.com指向了zone-1中的一个公网IP。但现在我想在zone-2中创建另一个nginx控制器,并使用cloud DNS将test.example.com指向该区域的公共IP地址。我应该采取什么方法?有什么最佳实践吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-15 15:08:54

你的问题不清楚,需要用任何最小的可重现的例子来改进。您可以找到manual here

根据您的主题,您在裸机中使用Kubernetes集群,但是您提到使用云DNS。您是从哪里获得云DNS的?

如果您使用的是纯裸机,那么请考虑使用MetalLB

MetalLB为不在受支持的云提供商上运行的Kubernetes集群提供了网络负载均衡器实现,有效地允许在任何集群中使用LoadBalancer服务。

但是这种方法还有一些其他的限制,其中之一是关于Ingress:

  • 因为NodePort服务没有获得定义分配的LoadBalancerIP,所以NGINX入口控制器不会更新它管理的

的入口对象的状态

代码语言:javascript
复制
$ kubectl get ingress
NAME           HOSTS               ADDRESS   PORTS
test-ingress   myapp.example.com             80

尽管没有负载均衡器向NGINX入口控制器提供公共IP地址,但是通过设置入口-nginx服务的externalIPs字段,可以强制更新所有被管理的入口对象的状态。

请参考下面的示例:

给定以下3节点Kubernetes集群(添加外部IP作为示例,在大多数裸机环境中,此值为)

代码语言:javascript
复制
$ kubectl get node
NAME     STATUS   ROLES    EXTERNAL-IP
host-1   Ready    master   203.0.113.1
host-2   Ready    node     203.0.113.2
host-3   Ready    node     203.0.113.3

用户可以编辑ingress-nginx服务并将以下字段添加到对象规范中

代码语言:javascript
复制
spec:
  externalIPs:
  - 203.0.113.1
  - 203.0.113.2
  - 203.0.113.3

这将依次反映在Ingress对象上,如下所示:

代码语言:javascript
复制
$ kubectl get ingress -o wide
NAME           HOSTS               ADDRESS                               PORTS
test-ingress   myapp.example.com   203.0.113.1,203.0.113.2,203.0.113.3   80

查看更多详细信息here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69929479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档