[英]How can I add my external domain “uat.test.com ” to my kubernetes cluster by using nginx-ingress?
[英]How can I expose my kubernetes app in a nice domain name using ingress?
我将nginx-ingress和cassandra舵图都安装到了AWS上。 我创建了Route53记录,以便可以通过一个不错的DNS名称(例如k8s.mydomain.me
到达负载均衡器。
如果我使用以下规范创建入口记录:
spec:
rules:
- host:
http:
paths:
- path: /cassandra
backend:
serviceName: cassandra
servicePort: 9042
k8s.mydomain.me/cassandra
解析,但是我真正想要的是cassandra.k8s.mydomain.me:9042
代替解析。 我将如何工作?
我相信默认情况下Nginx Ingress使用端口80和443。因此,如果您真的想在外部使用端口9042,则需要重新配置nginx入口
就我个人而言,我喜欢我的Nginx入口使用端口80的事实,因此我不必指定端口。
单域
spec:
rules:
- host: 'cassandra.k8s.mydomain.me'
http:
paths:
- path: /
backend:
serviceName: cassandra
servicePort: 9042
多域
spec:
rules:
- host: 'cassandra.k8s.mydomain.me'
http: &cassandra_svc
paths:
- path: /
backend:
serviceName: cassandra
servicePort: 9042
- host: 'real.cassandra.k8s.mydomain.me'
http: *cassandra_svc
您需要的是基于HTTP Host标头的入口规则。
您需要在路由53上创建一个指向负载均衡器的CNAME记录集: cassandra.k8s.mydomain.me -> k8s.mydomain.me
然后创建入口规则而不指定路径:
spec:
rules:
- host: 'cassandra.k8s.mydomain.me'
http:
paths:
backend:
serviceName: cassandra
servicePort: 9042
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.