通过外网访问ingress-nginx两个dns网址www.web01.com和www.web02.com分别布置在两个前端(svc)nginx和布置两个后端tomcat
时间: 2024-09-14 16:07:36 浏览: 37
在Kubernetes环境中,Ingress是一种资源,用于将外部请求路由到集群内部的服务(如Pod)。如果你想通过两个DNS域名`www.web01.com` 和 `www.web02.com` 分别访问部署在两个前端(Service)的Nginx以及两个后端Tomcat应用,可以按照以下步骤操作:
1. 创建两个Nginx Service和两个Tomcat Service:
- 对于每个前端Nginx,创建一个Service,例如web01-nginx-service和web02-nginx-service,指定它们的Selector标签指向运行Nginx的Pod。
```yaml
apiVersion: v1
kind: Service
metadata:
name: web01-nginx-service
spec:
selector:
app: nginx-frontend-web01
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: web02-nginx-service
spec:
selector:
app: nginx-frontend-web02
ports:
- protocol: TCP
port: 80
targetPort: 80
```
- 对于每个后端Tomcat,也创建一个Service,如web01-tomcat-service和web02-tomcat-service。
2. 创建Ingress资源:
- 使用Ingress定义规则,比如web01-ingress和web02-ingress,设置路径、主机名和目标Service。
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web01-ingress
spec:
rules:
- host: www.web01.com
http:
paths:
- path: /path/to/tomcat
pathType: Prefix
backend:
service:
name: web01-tomcat-service
port:
number: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web02-ingress
spec:
rules:
- host: www.web02.com
http:
paths:
- path: /path/to/tomcat
pathType: Prefix
backend:
service:
name: web02-tomcat-service
port:
number: 8080
```
这样,当你通过`www.web01.com/path/to/tomcat`访问时,流量会被路由到web01-nginx-service下的Nginx服务,并进一步转发至web01-tomcat-service;同样,`www.web02.com/path/to/tomcat`会指向web02相关的资源。
阅读全文