[英]How to get a Google managed certificate (ingress)? I received no matches for "ManagedCertificate"
[英]Creating a ManagedCertificate results in "Status: FailedNotVisible"
使用 Kube.netes 1.12.6-gke.7 或更高版本,可以創建一個 ManagedCertificate,然后從向 Inte.net 公開服務的入口資源引用該證書。
首先運行 kubectl describe managedcertificate certificate-name 表示證書在 Provisioning state 中,但最終轉到 FailedNotVisible。
盡管使用 Static IP 和 DNS 可以很好地解決上述服務的 http 版本,但所有 ManagedCertificate 最終都處於“狀態:FailedNotVisible”state。
我在做什么的概述:
生成保留(靜態)外部 IP 地址
將 CloudDNS 中的 DNS A 記錄配置到 subdomain.domain.com 以從步驟 1 生成 IP 地址。
過了一會兒
kubectl 描述 managedcertificate 子域域證書
結果為“狀態: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
據我了解,如果負載均衡器配置正確(在 ManagedCertificate 資源的幕后完成)和 DNS(可以很好地解析為非 https 端點)檢查證書應該 go 進入狀態:活動 state?
我的問題背后的問題最終是 DNSSEC 配置錯誤。 通過https://dnssec-analyzer.verisignlabs.com/運行 DNS 后,我能夠識別並解決問題。
DNSSEC 確實沒有為我的域啟用,但是在配置之后, ManagedCertificate 配置仍然沒有通過,我不知道發生了什么。 刪除並重新應用 ManagedCertificate 和 Ingress 清單並沒有解決問題。 但是發出命令gcloud beta compute ssl-certificates list
顯示了幾個未使用的托管證書,並使用cloud compute ssl-certificates delete NAME ...
刪除它們,然后重新啟動配置過程在我的情況下起到了作用。
您需要確保域名解析為 GKE Ingress 的 IP 地址,完全按照“ 使用托管證書創建 Ingress ”的說明進行操作。
有關更多詳細信息,請參閱 Google Cloud 負載平衡文檔。 從https://cloud.google.com/load-balancing/docs/ssl-certificates#domain-status :
“狀態 FAILED_NOT_VISIBLE 表示由於 DNS 或負載平衡配置問題,域的證書配置失敗。確保配置了 DNS,以便證書的域解析為負載平衡器的 IP 地址。”
就我而言,此問題是由我在Ingress資源中輸入的拼寫錯誤引起的,該拼寫錯誤拼寫了受管證書的名稱。
networking.gke.io/managed-certificates: elasticseach-certificate
我剛剛在設置新服務時遇到了這個問題,並且我的 8 個外部 IP 已用完。
按照故障排除指南,我檢查了是否有端口 443 到我的入口的轉發規則。 沒有。 當我嘗試手動設置它時,我收到一個錯誤消息,告訴我我用完了我的 8 個魔術地址。 我刪除了我不需要的轉發規則等等!
現在,為什么我無法為同一個入口成功設置端口 80 的轉發規則。
我遇到了同樣的錯誤,發現我在錯誤的 Kubernetes 命名空間中創建了 managedCertificate。 一旦 managedCertificate 被放置在正確的命名空間中,一切都會工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.