Test1 我使用 cert-manager 注释创建了一个入口。此操作失败并出现以下错误“nginx 入口控制器错误:准入 webhook“validate.nginx.ingress.kubernetes.io”拒绝了已定义的请求主机和路径”
Test2 我创建了相同的入口,但没有 cert-manager 注释。这个成功了。
Nginx 发布
$ kubectl exec ngingress-ingress-nginx-controller-7f4db9965c-ht8t9 -- /nginx-ingress-controller --version
-------------------------------------------------------------------------------
NGINX Ingress controller
Release: v1.1.0
Build: cacbee86b6ccc45bde8ffc184521bed3022e7dee
Repository: https://github.com/kubernetes/ingress-nginx
nginx version: nginx/1.19.9
-------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
证书管理器发布
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.6.0/cert-manager.yaml
Run Code Online (Sandbox Code Playgroud)
测试详情1
# cat test-ingress-cert.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sso-production
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/issuer: letsencrypt-staging
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
namespace: prod
spec:
tls:
- hosts:
- sso.mydomain.com
secretName: quickstart-example-tls
rules:
- host: sso.mydomain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: …Run Code Online (Sandbox Code Playgroud)