k8s-ingress配置多个域名指向同个后端服务
时间: 2024-12-15 15:28:13 浏览: 20
在Kubernetes(k8s)环境中,Ingress资源是一种用于将外部流量路由到内部服务的方式。如果你想让多个域名指向同一个后端服务,你需要创建一个Ingress资源,并配置它支持HTTP或HTTPS负载均衡。以下是步骤:
1. **创建Ingress**:
使用`kubectl create -f ingress.yaml`命令,创建一个包含多个主机规则(Host)的Ingress资源文件(例如 ingress.yaml),每个主机规则对应一个域名,如:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my- hosts:
- domain1.com
- domain2.com
secretName: tls-secret
rules:
- host: domain1.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
name: http
- host: domain2.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
name: http
```
2. **TLS配置**:
如果你使用的是HTTPS,需要在Ingress上配置TLS秘密(secretName: tls-secret),这通常是指定证书和私钥的位置。
3. **验证配置**:
创建完Ingress后,你可以通过访问`https://domain1.com` 和 `https://domain2.com` 来检查是否成功路由到后端服务。
阅读全文