簡體   English   中英

Cert-Manager 為 AKS 提供自己的 SSL 證書

[英]Cert-Manager provide own SSL Certificate for AKS

我想使用 cert-manager 在 AKS 上頒發我自己的 SSL 證書。

我已經有一個我想要使用的簽名證書 ( https://www.quovadisglobal.de/Zertifikate/SSLCertificates/BusinessSSLCertificates.aspx )。 在 cert-manager 的文檔中,我只找到了兩個相關的解決方案。 https://cert-manager.io/docs/configuration/

SelfSigned :這應該用於由 CSR 簽署證書。

CA :這應該用於簽署傳入的證書請求。

我嘗試了第二個。 這是我所做的:

安裝並驗證證書管理器:

$ kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml
$ kubectl get pods --namespace cert-manager

NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-7c5748846c-b4nqb             1/1     Running   0          2d23h
cert-manager-cainjector-7b5965856-bgk4g   1/1     Running   1          2d23h
cert-manager-webhook-5759dd4547-mlgjs     1/1     Running   0          2d23h

從私鑰和證書創建 Secret:

$ sudo kubectl create secret tls ssl-secret-p --cert=mycert.crt --key=mykey.key --namespace=cert-manager

創建發行人:

apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: ca-issuer
  namespace: cert-manager
spec:
  ca:
    secretName: ssl-secret-p

錯誤:

$ sudo kubectl get clusterissuers ca-issuer -n cert-manager -o wide

NAME        READY   STATUS                                                         AGE
ca-issuer   False   Error getting keypair for CA issuer: certificate is not a CA   5m

我做錯了什么?

編輯:

sudo kubectl -n namespace get ing
NAME            HOSTS           ADDRESS          PORTS     AGE
nginx-ingress   ***.com         51.105.205.128   80, 443   13m

Cert manager會進行acmechallenge驗證,嘗試將這個secret name傳遞給ingress規則中的tls,一旦acmechalleng出現有效,就會在ingress看到對應的entry

kubectl -n namespace get ing

會給你那個。

然后證書將獲得就緒狀態

我試過了,但我沒有使用任何預先創建的 tls 機密。 你可以參考這個stackoverflow帖子,我想它對你有點幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM