使用Ingress注解
Higress 注解
支持使用Higress注解,详情:https://higress.cn/docs/latest/user/annotation/。
例如,添加nginx.ingress.kubernetes.io/ssl-redirect注解,将HTTP 重定向为HTTPS:
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
WeKube 注解
下面是WeKube 提供的 Ingress 注解支持。
ingress.wekube.com/with-host
-
取值类型:bool,默认为false。
-
功能:表示是否需要系统为这个Ingress 分配域名。
- 此注解并不会自动申请SSL证书,如果需要添加SSL证书需要使用ingress.wekube.com/with-ssl注解。
- 分配域名的生成规则:
- 单个Rule域名生成规则:
<Ingressm名称>.<用户ID>.<集群ID>.wekube.com
。例如demo.uid.hk.wekukbe.com - 多个Rul域名生成规则e:
<Ingressm名称>[-Rule序号].<用户ID>.<集群ID>.wekube.com
。例如demo-2.uid.hk.wekukbe.com
- 单个Rule域名生成规则:
-
使用示例:
- 需要保持host为空。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo
annotations:
ingress.wekube.com/with-host: 'true'
spec:
rules:
- host: ""
http:
paths:
- backend:
service:
name: demo
port:
number: 80
path: /
pathType: ImplementationSpecific
ingress.wekube.com/with-ssl
-
取值类型:bool,默认为false。
-
功能:表示是否需要为这个Ingress 上的域名申请并添加SSL证书。
-
使用示例:
如果使用的是自定义域名,需要提前给要使用的域名添加一个DNS记录,解析类型为CNAME,值为cname.hk.wekube.com。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo
annotations:
ingress.wekube.com/with-ssl: 'true'
spec:
rules:
- host: demo.example.com
http:
paths:
- backend:
service:
name: demo
port:
number: 80
path: /
pathType: ImplementationSpecific
完整示例
-
实现【系统分配域名+添加SSL证书+HTTP 重定向为HTTPS】配置如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo
annotations:
ingress.wekube.com/with-host: 'true'
ingress.wekube.com/with-ssl: 'true'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
spec:
rules:
- host:
http:
paths:
- backend:
service:
name: demo
port:
number: 80
path: /
pathType: ImplementationSpecific -
实现【自定义域名+添加SSL证书+HTTP 重定向为HTTPS】的配置如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo
annotations:
ingress.wekube.com/with-ssl: 'true'
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
spec:
rules:
- host: demo.example.com
http:
paths:
- backend:
service:
name: demo
port:
number: 80
path: /
pathType: ImplementationSpecific提示需要提前给要使用的域名添加一个CNAME类型的DNS记录,并解析到cname.hk.wekube.com。
要检查一个CNAME类型的DNS记录是否已经生效?您可以按照以下方法:
-
使用命令行工具查询:
在Windows中可以使用
nslookup
命令。nslookup yourdomain.com
在Unix/Linux或macOS系统中可以使用
dig
命令。dig yourdomain.com CNAME
上述命令会显示与您域名相关的所有DNS记录。
-
使用在线DNS查询工具:
选择类型为CNAME,输入您的自定义域名
https://yourdomain.com
,然后提交。- 如果已经生效就会直接显示;
- 如果提示
no records found
就是还没有生效。
-