k8s如何配置域名加端口访问
时间: 2024-09-25 18:07:19 浏览: 44
在Kubernetes (k8s) 中配置域名加端口访问通常涉及到Ingress资源和外部负载均衡器或反向代理服务器。这里以 Traefik 为例说明:
1. **创建Ingress资源**[^1]:
使用`kubectl apply -f`命令定义一个Ingress资源文件,比如`ingress.yaml`,其中包含了域名和端口映射到服务的配置:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: zhiboqingyun.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80
```
2. **设置Traefik路由**[^2]:
在Traefik的配置文件(如`traefik.toml`)中,添加对这个Ingress的路由配置:
```toml
[entryPoints]
[entryPoints.http]
address = ":80"
[api]
dashboard = true
[routers]
zhiboqingyun-route:
entryPoint = "http"
rule = "Host(`zhiboqingyun.com`)"
service = "my-service"
priority = 1
middleware = ["@http~forwardHeader"]
```
这里设置了当请求的主机头为`zhiboqingyun.com`时,转发到名为`my-service`的服务,该服务的端口是80。
完成上述步骤后,通过访问`http://zhiboqingyun.com`即可访问到部署在k8s中并映射到特定端口的服务。
阅读全文