Kubernetes Ingress是用于管理和暴露Kubernetes集群中服务的API对象。它允许从集群外部访问应用程序,并通过将外部流量路由到不同的服务和端口来简化网络配置。
具有特定端口的Kubernetes Ingress路由可以通过以下方式定义:
spec.rules
字段定义路由规则,spec.rules[].http.paths
字段定义路径和对应的后端服务。可以指定特定的端口号作为后端服务的端口。spec.rules[].http.paths[].pathType
字段定义路径的类型。可以选择Exact
,Prefix
或ImplementationSpecific
。Exact
表示路径必须完全匹配,Prefix
表示路径是一个前缀匹配,ImplementationSpecific
表示路径由具体实现定义。spec.rules[].http.paths[].backend
字段中指定后端服务的名称和端口号。举例说明: 假设有一个域名为example.com的网站,需要将路径/app1路由到端口为8080的app1-service,并将路径/app2路由到端口为8081的app2-service。可以定义如下的Ingress资源:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /app1
pathType: Prefix
backend:
service:
name: app1-service
port:
number: 8080
- path: /app2
pathType: Prefix
backend:
service:
name: app2-service
port:
number: 8081
这样,当访问example.com/app1时,流量将被路由到端口为8080的app1-service,访问example.com/app2时,流量将被路由到端口为8081的app2-service。
腾讯云相关产品推荐:腾讯云容器服务(Tencent Kubernetes Engine,TKE)是腾讯云提供的容器服务,支持Kubernetes,具备高可用、弹性伸缩、安全稳定等特性。您可以使用TKE来轻松管理Kubernetes集群,并配置Ingress路由。详细信息请参考Tencent Kubernetes Engine产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云