kubernetes - 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)。
解决方案
如果您在入口后面使用任何负载均衡器或任何带有负载均衡器的入口控制器,您必须在任何地方使用负载均衡器 IP。
因此,您必须将其映射Loadbalancer IP
到DNS
for 中dummy.domain.com
,否则如果您不使用负载均衡器,则必须使用主 IP。
您正在测试中,local machine
您可以在文件中添加条目domain
和 IPetc/host
并检查。
推荐阅读
- google-forms - 使用 URL 参数动态预填充 Google 表单
- symfony - 如何在服务 symfony 4 中使用多个实体管理器
- sorting - 如何在经典 ASP 中进行自然排序?
- oracle-jet - 使用 JSON 数据绑定 Ojet 树视图
- flutter - Flutter Inherited Widget - 缺少一些监听器
- listview - 如何在 Nativescript-vue 中创建具有交错或网格布局的 ListView?
- unit-testing - 我们是否应该对谓词方法进行单元测试
- python - 气流任务无法连接到远程 Oracle 数据库
- javascript - 如何在odoo中覆盖js函数
- c# - 为什么我们使用 ObservableCollection
在 UWP/C# 中?