如何解决 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 时?

18Secret

kubernetes之secret

解决base64-encoded secret key cannot be null or empty问题

解决base64-encoded secret key cannot be null or empty问题

第十章 Secret & Configmap