apiVersion: extensions/v1beta1
kind: Ingress
metadata
name <string> # 在一个名称空间不能重复
namespace <string> # 指定名称空间,默认defalut
labels <map[string]string> # 标签
annotations <map[string]string> # 注释
spec
backend <Object> # 后端pod对应的服务,仅在集群中仅单个service暴露时使用
serviceName <string> -required- # 服务名
servicePort <string> -required- # 服务接入端口
rules <[]Object> # 流量转发规则
host <string> # 基于server name进行转发
http <Object> # 基于path路径转发
paths <[]Object> -required- # 指定转发的path路径和后端service
path <string> # 指定path
backend <Object> -required- # 后端pod对应的服务
serviceName <string> -required- # 服务名
servicePort <string> -required- # 服务接入端口
新版本中, Ingress 的API发生了变化:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata
name <string> # 在一个名称空间不能重复
namespace <string> # 指定名称空间,默认defalut
labels <map[string]string> # 标签
annotations <map[string]string> # 注释
spec
defaultBackend <Object> # 指定默认的后端资源
resource <Object> # 指定的资源对象,和service二选一
apiGroup <string>
kind <string> -required-
name <string> -required-
service <Object> # 指定的svc对象,和service二选一
name <string> -required- # service名称
port <Object> # 指定端口,可以说svc中端口名称,也可以是数字
name <string>
number <integer>
ingressClassName <string> # 指定使用哪个ingress controller,用于取代注释中的kubernetes.io/ingress.class
rules <[]Object> # 指定路由规则
host <string> # 指定域名,可以使用通配符
http <Object> # 指定http请求转发规则
paths <[]Object> -required- # path路径转发规则列表
backend <Object> -required- # 指定后端资源
resource <Object> # 指定的资源对象,和service二选一
service <Object> # 指定的svc对象,和service二选一
path <string> # 指定路径
pathType <string> # path匹配方式
# Exact: 精准匹配; Prefix: 前缀匹配; ImplementationSpecific: 由ingress Controller决定
tls <[]Object> # 指定TLS配置
hosts <[]string> # 使用TLS加密的主机名
secretName <string> # 指定证书的secret