问题:我正在尝试使用ingress来访问托管在我的k8群集上的保险库群集。当前使用nginx入口控制器0.10.2
版本。
我正在使用Ingress指向Vault集群的自定义生成的TLS证书。我在与入口相同的名称空间中拥有TLS证书。
问题:无法通过提供带有ca.crt的vault status
命令进入后端。
设置的Env变量
VAULT_ADDR=https://vault.ingress.staging.k8s.com
VAULT_SKIP_VERIFY=true
无法获得状态,即入口处的流量正在停止。当我检查入口控制器的日志时,它说
7 backend_ssl.go:146] unexpected error generating SSL certificate with full intermediate chain CA certs: Invalid certificate.
我已经生成了与Ingress资源的公共名称匹配的自定义TLS证书。因此无法弄清楚为什么会发生这种情况。可能是因为入口注释使用错误。
我的问题是ingress.kubernetes.io/secure-backends: 'true'
出了什么问题,如果是,你可以提供有关如何使用它的信息吗?
备注:
我正在使用相应的入口类,并且确实知道没有问题。
如果入口出现问题,我已经部署了几个示例来检查。即使这样也可以。
*任何人都可以提供nginx.ingress.kubernetes.io/secure-backends
*
任何与此问题相关的解决方案都将受到赞赏!!!
Ingress.yaml
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: vault
namespace: default
annotations:
ingress.kubernetes.io/secure-backends: 'true'
kubernetes.io/ingress.class: "k8s"
spec:
tls:
- hosts:
- vault.ingress.staging.k8s.com
secretName: vault-server-ingress-tls
rules:
- host: vault.ingress.staging.k8s.com
http:
paths:
- path: /
backend:
serviceName: example
servicePort: 8200
答案 0 :(得分:3)
您可以尝试:
kubernetes.io/ingress.class: "<your_class>"
nginx.ingress.kubernetes.io/secure-backends: "true"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
请记住,ssl-passthrough
要求必须将额外的命令行参数添加到nginx-ingress-controller部署(默认情况下禁用):
--enable-ssl-passthrough