创建ManagedCertificate的结果为“状态:FailedNotVisible”

Smi*_*ith 5 https google-kubernetes-engine tls1.2

使用Kubernetes 1.12.6-gke.7或更高版本,可以创建ManagedCertificate,然后从将服务公开到Internet的入口资源中进行引用。

运行kubectl describemanagedcertificate证书名称首先表明该证书处于置备状态,但最终变为FailedNotVisible。

尽管使用的静态IP和DNS可以很好地解析为该服务的http版本,但所有ManagedCertificate的最终状态均为“状态:FailedNotVisible”。

我正在做什么的概述:

  1. 生成保留的(静态)外部IP地址

  2. 将CloudDNS中的DNS A记录配置为subdomain.domain.com,以从步骤1中生成IP地址。

  3. 在步骤2中,使用kubectl apply -f创建一个名为“ subdomain-domain-certificate”的ManagedCertificate,将spec:domains包含与subdomain.domain.com DNS记录相对应的单个域。
  4. 创建一个简单的部署并公开它的服务
  5. 在步骤4中创建引用默认服务后端的Ingress资源,以及在步骤1中创建的静态IP注释和在步骤3中生成的托管证书的注释。
  6. 确认已创建Ingress并为其分配了静态IP
  7. 访问http://subdomain.domain.com会提供步骤4中在部署中创建的pod的输出

过了一会儿

kubectl描述托管证书子域-域证书

结果为“状态:FailedNotVisible”。

Name:         subdomain-domain-certificate
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  networking.gke.io/v1beta1
Kind:         ManagedCertificate
Metadata:
  Creation Timestamp:  2019-04-15T17:35:22Z
  Generation:          1
  Resource Version:    52637
  Self Link:           /apis/networking.gke.io/v1beta1/namespaces/default/managedcertificates/subdomain-domain-certificate
  UID:                 d8e5a0a4-5fa4-11e9-984e-42010a84001c
Spec:
  Domains:
    subdomain.domain.com
Status:
  Certificate Name:    mcrt-ac63730e-c271-4826-9154-c198d654f9f8
  Certificate Status:  Provisioning
  Domain Status:
    Domain:  subdomain.domain.com
    Status:  FailedNotVisible
Events:
  Type    Reason  Age   From                            Message
  ----    ------  ----  ----                            -------
  Normal  Create  56m   managed-certificate-controller  Create SslCertificate mcrt-ac63730e-c271-4826-9154-c198d654f9f8
Run Code Online (Sandbox Code Playgroud)

据我了解,是否正确配置了Load Balancer(在ManagedCertificate资源中进行了深入的设置)和DNS(可以很好地解析为非https端点)检查了证书应进入“状态:活动”状态?

Smi*_*ith 5

我的问题背后的问题最终是DNSSEC配置错误。通过https://dnssec-analyzer.verisignlabs.com/运行DNS之后,我能够识别并解决问题。

  • 需要澄清的是,问题是需要启用 DNSSEC 吗? (3认同)
  • 不要再给Godaddy多钱了,只需将Godaddy中的DNS名称服务器移至GCP Cloud DNS并从那里启用它。我不确定随着时间的推移会花多少钱,但是不需要前期付款。 (2认同)
  • @Smith 决议是什么。我面临着同样的问题。我已在 Google 中注册了我的域名,并使用启用了 DNSSEC 的 Cloud DNS。 (2认同)