kubernetes - 使用入口资源中的主机名/子域从外部访问应用程序
问题描述
需要使用以下代码中指定的应用程序的Ingress主机名/子域从外部访问应用程序。例如。test-app.dev-cluster-poc.company.domain。
猫应用程序入口.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
name: app-ingress
spec:
rules:
- host: test-app.dev-cluster-poc.company.domain
http:
paths:
- backend:
serviceName: appsvc1
servicePort: 80
path: /app1
- backend:
serviceName: appsvc2
servicePort: 80
path: /app2
在使用url中的步骤进行故障排除时,我发现“kubectl get ingress”输出中没有 ADDRESS。期待一个像下面这样的IP地址。
外部访问应用程序所需的必要配置是什么,例如注册主机名(test-app.dev-cluster-poc.company.domain)或添加 A-record 或在 kubernetes 集群中运行任何 dns 服务。
是什么导致“kubectl get ingress”命令中的 ADDRESS 列为空。
[编辑]
apiVersion: v1
kind: Service
metadata:
name: appsvc1
namespace: ingress
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: app1
Nginx 控制器服务如下所示。
cat nginx-ingress-controller-service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
namespace: ingress
spec:
type: NodePort
ports:
- port: 80
nodePort: 30000
name: http
- port: 18080
nodePort: 32000
name: http-mgmt
selector:
app: nginx-ingress-lb
解决方案
推荐阅读
- javascript - 如何根据填写html表单使页面区域可见?
- javascript - 如何从比较器数组 ['<', '<=', '>', '>='] 中进行比较?
- google-apps-script - Google 表格中的相关数据验证
- python - 如何使用 Selenium 和 Python 从华尔街日报市场数据报价中刮取每个父母的第一个元素?
- javascript - 在使用 EJS 显示之前检查内容扩展类型
- javascript - 未捕获的 SyntaxError:Visual Studio 代码编辑器中输入 javascript 的意外结束。它在崇高的文本中运行良好
- javascript - 如何制作官方的 Javascript 库?它是否需要任何认证或许可才能制作?
- java - 如何使用日历实现时间和日期方法?
- amazon-web-services - AWS ALB 无效的主机标头
- javascript - 反应本机 Firebase 身份验证搜索