首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用`service.spec.externalIPs`而不是`--type=LoadBalancer`在亚马逊云服务上公开Kubernetes服务?

如何使用`service.spec.externalIPs`而不是`--type=LoadBalancer`在亚马逊云服务上公开Kubernetes服务?
EN

Stack Overflow用户
提问于 2020-03-20 03:14:06
回答 1查看 152关注 0票数 0

我已经使用kops在亚马逊网络服务上部署了一个Kubernetes集群,并且我能够使用带有--type=LoadBalancer的服务公开我的pods

代码语言:javascript
复制
kubectl run sample-nginx --image=nginx --replicas=2 --port=80
kubectl expose deployment sample-nginx --port=80 --type=LoadBalancer

但是,我不能通过使用我的主节点的公网IP指定service.spec.externalIPs来让它工作。

我已经允许入口流量通过指定的端口,并使用https://kubernetes.io/docs/concepts/services-networking/service/#external-ips作为文档。

有人能解释一下如何在不使用云提供商的本地负载均衡器的情况下在AWS上公开服务吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-23 16:21:52

如果你想避免使用Loadbalancer,那么你可以使用NodePort类型的服务。

NodePort在静态端口( NodePort)上公开每个节点的IP上的服务。NodePort服务路由的ClusterIP服务是沿着它创建的。您可以通过以下请求从外部访问NodePort服务:

代码语言:javascript
复制
<NodeIP>:<NodePort> 

这意味着,如果您使用该端口访问任何节点,您将能够访问您的服务。值得记住的是,NodePorts是高编号端口(30000- 32767)

具体回到亚马逊网络服务,这里是他们的官方文档如何公开服务以及NodePort的解释。

一定要注意关于启用端口的非常重要的信息:

注意:在从外部群集访问NodeIP:NodePort之前,您必须启用节点的安全组,以允许传入流量通过您的服务端口。

如果这有帮助,请告诉我。

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

https://stackoverflow.com/questions/60763684

复制
相关文章

相似问题

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