kubernetes.io/ingress.http-rules 及 kubernetes.io/ingress.https-rules 注解中即可。kubernetes.io/ingress.http-rules 及 kubernetes.io/ingress.https-rules 的规则格式是一个 Json Array。每个对象的格式如下:{"host": "<domain>","path": "<path>","backend": {"serviceName": "<service name>","servicePort": "<service port>"}}
TKE Ingress Controller 支持混合配置 HTTP 及 HTTPS 规则,步骤如下:kubernetes.io/ingress.rule-mix,并设置为 true。kubernetes.io/ingress.http-rules 及 kubernetes.io/ingress.https-rules 进行匹配,并添加到对应规则集中。若 Ingress 注解中的未找到对应规则,则默认添加到 HTTPS 规则集中。VIP、Path 默认为 /。apiVersion: extensions/v1beta1kind: Ingressmetadata:annotations:kubernetes.io/ingress.http-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'kubernetes.io/ingress.https-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'kubernetes.io/ingress.rule-mix: "true"name: sample-ingressnamespace: defaultspec:rules:- host: www.tencent.comhttp:paths:- backend:serviceName: sample-serviceservicePort: 80path: /tls:- secretName: tencent-com-cert
tencent-com-cert 的 Secret 资源中。kubernetes.io/ingress.http-rules 及 kubernetes.io/ingress.https-rules 中都描述了 ingress.spec.rule 中描述的转发规则。文档反馈