我正在尝试在我安装了 haproxy 入口控制器的 AKS 群集中为服务类型为 clusterIP 的服务创建入口。我已经在集群中部署了 cert-manager 和 clusterIssuer。我附上了我用过的 ingress.yaml 文件的内容,
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: nginx-ingress
namespace: webclient
annotations:
# add an annotation indicating the issuer to use
kubernetes.io/ingress.class: haproxy
certmanager.k8s.io/acme-challenge-type: http01
cert-manager.io/cluster-issuer: letsencrypt-staging
spec:
tls:
- hosts:
- test.xyz.com
secretName: nginx-ingress-tls
rules:
- host: test.xyz.com
http:
paths:
- backend:
serviceName: nginx-service
servicePort: 3005
path: /
问题是,提到的秘密 nginx-ingress-tls 在 10-15 秒后被创建和删除。因此,入口网址“test.xyz.com”未在浏览器中通过安全连接 (https) 打开。
在入口控制器 pod 中,我发现了类似的日志,
由于在入口“webclient/nginx-ingress”上读取秘密“nginx-ingress-tls”时出错,使用默认证书:未找到秘密 webclient/nginx-ingress-tls。
需要注意的是,使用前缀为 test.xyz.com(例如:nginx.test.xyz.com)的任何 url 创建的入口都可以正常工作,没有任何问题。
谁能解释一下我的这种行为。提前致谢!