首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >K8S裸金属nginx入口控制器

K8S裸金属nginx入口控制器
EN

Stack Overflow用户
提问于 2019-03-07 20:30:19
回答 1查看 2.5K关注 0票数 3

操作系统: RHEL7 / k8s版本: 1.12/13 \x{e 010} kubespray =裸金属

我已经部署了一个标准的kubespray裸金属集群,我正在尝试了解部署nginx入口控制器的最简单的推荐方法,它将允许我部署简单的服务。没有提供负载平衡器。我想要我的主公共IP作为我的服务的端点。

Github k8s ingress nginx 建议 NodePort服务是一个“强制性”步骤,这似乎不足以使它与kubespray的ingress_controller一起工作。

我使它能够工作,强迫LoadBalancer服务类型,并通过kubectl edit svc将externalIP值设置为主公共IP到nginx入口控制器,但由于缺乏负载均衡器本身,它似乎不是一个正确的解决方案。

使用helm图表的类似结果:

代码语言:javascript
复制
helm install -n ingress-nginx stable/nginx-ingress --set controller.service.externalIPs[0]="MASTER PUBLIC IP"
EN

回答 1

Stack Overflow用户

发布于 2019-03-07 20:52:07

我通过kubectl编辑svc使其能够工作,强制LoadBalancer服务类型并将externalIP值设置为主公共IP到nginx-ingress控制器中,但由于缺乏负载均衡器本身,它似乎不是一个正确的解决方案。

没错,这不是LoadBalancer的目的。它的目的是提供负载均衡器与云提供商,如AWS,GCP,或Azure,或一个负载均衡器,有某种API,以便库贝控制器管理器可以与它接口。如果您查看您的kube-控制器-管理日志,您将看到一些错误。你让它工作的方式,这显然是一个黑客,但我认为它是有效的。

实现此功能的标准方法是使用NodePort服务,并在主服务器上配置任何代理/负载均衡器(即nginx或have )来向NodePorts发送流量。请注意,我不建议主程序在您的服务前面,因为它已经处理一些关键的Kubernetes吊舱,如kube控制器-经理,kube-apiserver,kube-调度器,等等。

唯一的例外是MetalLB,您可以与LoadBalancer服务类型一起使用它。请记住,在撰写这篇文章时,项目还处于早期阶段。

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

https://stackoverflow.com/questions/55052325

复制
相关文章

相似问题

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