首页 > 解决方案 > Ingress yml kubernetes 集群中的主机名

问题描述

我正在使用基础架构团队(不是 minikube)提供的 kubernetes 集群,我已经创建了具有所有配置的 traefik 入口控制器,入口容器,我们的应用程序在集群中运行。现在我想使用域名或 IP 地址访问应用程序,为此,我创建了一个 Ingress 资源,如下所示

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  rules:
  - host: dummy.domain.com
    http:
     paths:
     - path: /
      backend:
         serviceName: app-web-ui
         servicePort: web

我没有得到的是主机名,因为应用程序在集群中运行,这个主机名应该是集群主节点名吗?实际生产环境中的主机名或 IP 地址应该是什么。

注意:我们没有使用任何云提供商,它只是带有 kubernetes 集群环境的普通 docker(集群在 Mirantis kubernetes 中配置,客户端是 Windows)。

标签: kuberneteskubectlkubernetes-ingresskubernetes-pod

解决方案


如果您在入口后面使用任何负载均衡器或任何带有负载均衡器的入口控制器,您必须在任何地方使用负载均衡器 IP。

因此,您必须将其映射Loadbalancer IPDNSfor 中dummy.domain.com,否则如果您不使用负载均衡器,则必须使用主 IP。

您正在测试中,local machine您可以在文件中添加条目domain和 IPetc/host并检查。


推荐阅读