我有以下设置:
- 私有 OpenStack 云- 仅 Web UI(Horizon)可访问
(API 受到限制,但我可能可以访问) - 我用过核心操作系统设置一个掌握和三个节点
- 资源标准化(OpenStack 的默认设置)
- 我按照 CoreOS 的入门指南进行操作(即我使用提供的云配置的默认 YAML)GitHub
据我所知,诸如 Web UI(kube-ui)之类的扩展可以作为附加组件添加 - 我已经添加了(仅 kube-ui)。
现在如果我运行诸如 simple-nginx 之类的测试,我会得到以下输出:
创建 Pod:
$ kubectl run my-nginx --image=nginx --replicas=2 --port=80
创建服务:
$ kubectl expose rc my-nginx --port=80 --type=LoadBalancer
NAME LABELS SELECTOR IP(S) PORT(S)
my-nginx run=my-nginx run=my-nginx 80/TCP
获取服务信息:
$ kubectl describe service my-nginx
Name: my-nginx
Namespace: default
Labels: run=my-nginx
Selector: run=my-nginx
Type: LoadBalancer
IP: 10.100.161.90
Port: <unnamed> 80/TCP
NodePort: <unnamed> 31170/TCP
Endpoints: 10.244.19.2:80,10.244.44.3:80
Session Affinity: None
No events.
我可以从节点的每个外部 IP 访问我的服务。
我现在的问题如下:
如何通过子域访问任何已启动的服务以太,因此我该如何设置此配置(例如,我以 domain.com 为例)或者是否可以打印出我必须在哪个节点 IP 上访问我的服务(尽管我只有两个副本(?!))?
为了使我的想法更容易理解,我的想法如下:
- 给定域:域名.com(指着师父)
- 启动服务简单-nginx
- 可以通过以下方式访问服务simple-nginx.domain.com