在 Kubernetes 中访问子域上的服务

在 Kubernetes 中访问子域上的服务

我有以下设置:

  • 私有 OpenStack 云- 仅 Web UI(Horizo​​n)可访问
    (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

相关内容