关注https://www.mesosphere.com/amazon/我在Amazon AWS上创建了一个DCOS群集。 然后我跟着http://kubernetes.io/v1.1/docs/getting-started-guides/dcos.html并在上面安装了Kubernete。 然后我跟着http://kubernetes.io/v1.1/docs/user-guide/quick-start.html 我成功地启动了pod。 然后我遇到了将服务暴露给公众的问题。
$ dcos kubectl expose rc my-nginx --port=80 --type=LoadBalancer
service "my-nginx" exposed
$ dcos ssun$ dcos kubectl get svc my-nginx
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
my-nginx 10.10.10.32 80/TCP run=my-nginx 8s
EXTERNAL_IP地址不存在。根据教程,它应该。因此,我认为这与我的Kubernete在DCOS内部有关。
请帮忙。非常感谢你!
答案 0 :(得分:2)
Mesos / DCOS上的Kubernetes尚不支持自动创建LoadBalancer。
正如quick start所述:
通过与某些云提供商(例如Google Compute Engine和AWS EC2)集成,Kubernetes可让您请求为您的应用提供公共IP地址。
AFAIK,到目前为止,只有GCE,GKE和AWS支持自动创建LoadBalancer。
DCOS的另一个关键区别(与kubernetes相比)是默认情况下带有两个区域:公共区域和私有区域。因此,如果没有公共节点上的反向代理,可以从外部访问私有节点上的任何内容。
此外,DCOS上的Kubernetes还不支持每容器IP。 DCOS/Calico integration正在开发对每容器IP的支持。据报道,一些社区成员还尝试使用群集范围的docker overlay网络。
目前,有一些替代方案可以在外部使用您的广告连接:
hostPort:80
上部署您的广告连播。然后点击DCOS公共从属AWS ELB的地址。hostPort:80
在公共从站上安排它。然后点击它所在的主机节点的IP。Mesosphere Kubernetes团队绝对优先考虑让DCOS上的体验更加顺畅。希望该解决方案将包括自动创建LoadBalancer。