我正在使用helm3在kubernetes中部署一个基于PHP的应用程序。我正在使用以下版本的入口控制器。我得到以下提到的错误。即使在所需的命名空间中存在秘密,它也会给出这个错误。当我使用"kubectl apply-f yaml"进行部署时,它运行得非常好。Nginx控制器支持HTTPS后端,注释为"Nginx.ingress.kubernetes.io/backendprotocol:"HTTPS",但不知何故,它没有被识别,如错误所示。有人能帮忙吗?
NGINX Ingress controller
Release: 0.30.0
Build: git-7e65b90c4
Repository: https://github.com/kubernetes/ingress-nginx
nginx version: nginx/1.17.8
Nginx控制器错误
W0413 17:30:53.061666 6 main.go:60] Protocol "HTTPS" is not a valid value for the backend-protocol annotation. Using HTTP as protocol
W0413 17:30:56.382073 6 controller.go:1105] Error getting SSL certificate "tls-test/php-tls-secret": local SSL certificate tls-test/php-tls-secret was not found. Using default certificate
E0413 17:19:32.942187 6 annotations.go:200] error reading ProxySSL annotation in Ingress tls-test/abc-demo: Location denied, reason: invalid format (namespace/name) found in "abc-tls-secret
">
值.yaml
annotations:
nginx.ingress.kubernetes.io/proxy-ssl-secret: |
"tls-test/abc-tls-secret"
nginx.ingress.kubernetes.io/auth-tls-secret: |
"tls-test/php-tls-secret"
nginx.ingress.kubernetes.io/backend-protocol: |
"HTTPS"
nginx.ingress.kubernetes.io/backend-protocol: |
"HTTPS"
不指定HTTPS
为backend-protocol
,而是指定"HTTPS"n
为backned-protocol
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
是正确的设置,不仅因为它删除了由yaml管道运算符引起的换行符,而且还删除了管道和文字"
字符之间的双引号
至于错误消息,它非常清楚:删除命名空间限定符,因为没有任何结果可以让Ingress资源查询除创建的命名空间之外的任何命名空间