如何解决 Secret tls-cert.default 未知问题?
Posted
技术标签:
【中文标题】如何解决 Secret tls-cert.default 未知问题?【英文标题】:how can I solve Secret tls-cert.default unknown issue? 【发布时间】:2021-10-12 01:12:36 【问题描述】:您好,我正在为 ny 项目使用大使。我有 2 个服务和 2 个主机文件。当我应用“kubectl apply -f host1.yml”和“kubectl apply -f host2.yml”时,出现以下错误: 如何使用 Ambassador edge stack 1.13 生成正确的 TLS 证书?这里有什么问题?
kubectl get hosts -A
错误:echo-host:继续使用无效的 TLS 密钥 tls2-cert
详情:
2021-08-07 14:26:19 diagd 1.13.10-dev.24+g61366062d [P32TAEW] ERROR: Secret tls2-cert.default unknown
2021-08-07 14:26:19 diagd 1.13.10-dev.24+g61366062d [P32TAEW] ERROR: Host echo-host: continuing with invalid TLS secret tls2-cert
2021-08-07 14:26:19 diagd 1.13.10-dev.24+g61366062d [P32TAEW] ERROR: Secret tls-cert.default unknown
2021-08-07 14:26:19 diagd 1.13.10-dev.24+g61366062d [P32TAEW] ERROR: Host quote-host: continuing with invalid TLS secret tls-cert
2021-08-07 14:26:19 diagd 1.13.10-dev.24+g61366062d [P32TAEW] INFO: configuration updated (complete) from snapshot snapshot (S9 L1 G12 C5)
time="2021-08-07 14:26:19" level=warning msg="license_secret_watch: empty decoded license data" func=github.com/datawire/apro/cmd/amb-sidecar.runE.func3 file="github.com/datawire/apro/cmd/amb-sidecar/main.go:258" CMD=amb-sidecar PID=16 THREAD=/license_secret_watch
time="2021-08-07T14:26:19Z" level=info msg="Loaded file /ambassador/envoy/envoy.json"
time="2021-08-07T14:26:19Z" level=info msg="Saved snapshot v126"
time="2021-08-07T14:26:19Z" level=info msg="Pushing snapshot v126"
我的主机文件:
host1.yml:
---
apiVersion: getambassador.io/v2
kind: Host
metadata:
name: quote-host
spec:
hostname: quote.kafkacake.xyz
acmeProvider:
email: yusufkaratoprak@gmail.com
tlsSecret:
name: tls-cert
requestPolicy:
insecure:
action: Redirect
additionalPort: 8080
host2.yml:
---
apiVersion: getambassador.io/v2
kind: Host
metadata:
name: echo-host
spec:
hostname: echo.kafkacake.xyz
acmeProvider:
email: yusufkaratoprak@gmail.com
tlsSecret:
name: tls2-cert
requestPolicy:
insecure:
action: Redirect
additionalPort: 8080
如何使用 Ambassador 边缘堆栈 1.13 生成正确的 TLS 证书?
【问题讨论】:
【参考方案1】:您应该尝试使用 ambassador 安装 Cert-manager。边缘堆栈支持让我们在acmeProvider
中加密,但只有一个挑战HTTP-01
。
您的 HTTP-01 证书挑战失败,而 cert-manager 也支持 DNS-01 方法,如果您想使用通配符证书,您可以也可以使用。
https://www.getambassador.io/docs/edge-stack/latest/howtos/cert-manager/
【讨论】:
以上是关于如何解决 Secret tls-cert.default 未知问题?的主要内容,如果未能解决你的问题,请参考以下文章
如何解决错误 KeyError: 'A secret key is required to use CSRF.'在烧瓶应用程序中使用 wtform 时?
解决base64-encoded secret key cannot be null or empty问题