如何将Kubernetes服务公开到互联网?
我正在运行一个具有1个主节点(也是一个节点)的kubernetes集群,以及Azure上的两个节点。 我正在使用Ubuntu与Flannel覆盖networking。 到目前为止,一切运作良好。 我唯一的问题是将服务暴露给互联网。
我正在Azure子网上运行群集。 主机有一个连接到它的具有公共IP的网卡。 这意味着如果我运行一个监听端口80的简单服务器,我可以使用域名访问我的服务器(Azure提供了一个选项来为公有IP提供一个域名)。
我也可以通过一些黑客来达到kubernetes留言簿的前端服务。 我所做的是检查主站上的所有监听端口,并尝试使用公共IP的每个端口。 我能够击中kubernetes服务并得到回应。 根据我的理解,这直接转到在主节点(也是节点)上运行的吊舱,而不是通过服务IP(这将在任何吊舱中均衡负载)。
我的问题是如何将外部IP映射到服务IP? 我知道kubernetes有一个只适用于GCE(我现在不能使用)的设置。 但有没有一些干净的告诉etcd /法兰绒做这个?
如果您使用kubectl expose
命令:
–external-ip =“”:为服务设置的外部IP地址。 除了生成的服务IP之外,该服务还可以通过此IP访问。
或者,如果您从json
或yaml
文件创build,请使用spec/externalIPs
数组。
- 如何在Docker for Windows上运行Cosmos数据库模拟器?
- 通过Kubernetes在Docker容器中安装Azure文件存储
- Azure CNI插件入门
- 我们可以在D11_v2 Azure Windows 10 Enterprise机器上安装Docker吗?
- 在远程Linux Azure托pipeDocker实例上删除未使用的Docker镜像会导致“未知的速记标志:'in -aq'错误
- 在docker运行命令后,Azure部署停滞不前
- 以Alpine linux为基础图像创buildazure-cli的docker映像时出错
- 在成功的TeamCity版本上创builddocker图像
- 在Linux上的Azure Web App上安装自定义Docker jenkins映像会丢失保存的configuration数据