摘要:本篇主要介绍了 Ingress 资源相关的语义,以及如何对 Ingress 资源进行能力的扩展。
作者:张晋涛,API7.ai 云原生技术专家,Apache APISIX PMC 成员,Apache APISIX Ingress Controller 项目维护者。
Ingress 和 Ingress controller
Kubernetes 中的 Ingress 是一种资源对象,用于定义如何从 Kubernetes 集群外访问到 Kubernetes 集群内的服务,其中包含了具体的访问规则,通常情况下客户端使用 HTTP/HTTPS 协议进行访问。
客户端可按照 Ingress 资源定义的规则,将客户端请求路由到 Kubernetes 集群中的服务或具体的 Pod中。

以下是一个 Ingress 资源的示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: apisix-gateway
spec:
rules:
- host: apisix.apache.org
http:
paths:
- backend:
service:
name: apisix-gateway
port:
number: 80
path: /
pathType: Exact
上述示例中包含了以下内容:
- metadata.name:Ingress 资源的名称
- spec.rules[].host:外部访问使用的域名
- spec.rules[].http.paths[].backend:定义了 Kubernetes 集群中服务的相关信息
- spec.rules[].http.paths[].path:定义了外部服务访问 Kubernetes 集群中服务时使用的路径
- spec.rules[].http.paths[].pathType:定义了外部服务访问 Kubernetes 集群中服务时路径的匹配规则 从上述内容可以看到,Ingress 资源的语义是相对比较简单的。
Ingress 仅仅是 Kubernetes 中的一种资源定义,它本身不具备任何流量处理能力。要让 Ingress 资源生效

最低0.47元/天 解锁文章
684

被折叠的 条评论
为什么被折叠?



