【问题标题】:kubernetes certs not working with let's encrypt cert-managerkubernetes 证书无法与让我们加密证书管理器一起使用
【发布时间】:2021-09-25 01:23:29
【问题描述】:

我似乎无法让 cert-manager 工作:

$ kubectl get certificates -o wide
NAME         READY   SECRET       ISSUER        STATUS                                         AGE
tls-secret   False   tls-secret   letsencrypt   Issuing certificate as Secret does not exist   115m

$ kubectl get CertificateRequest -o wide
NAME               READY   ISSUER        STATUS                                                                                        AGE
tls-secret-xxxx   False   letsencrypt   Referenced "ClusterIssuer" not found: clusterissuer.cert-manager.io "letsencrypt" not found   113m

我的证书.yaml 是:

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: tls-secret
  namespace: default
spec:
  secretName: tls-secret
  dnsNames:
  - aks-xxxx.xxxxx.xxxx.aksapp.io
  acme:
    config:
    - http01:
        ingress:
          name: xxxxxx
      domains:
      - aks-xxxx.xxxxx.xxxx.aksapp.io
  issuerRef:
    name: letsencrypt-staging
    kind: ClusterIssuer

当我得到集群发行者时

  $ kubectl get clusterissuers
    No resources found

知道有什么问题吗?

【问题讨论】:

  • 这方面有什么更新吗?如果以下答案解决了您的问题,请更新问题状态,如果觉得有帮助,请点赞。

标签: ssl kubernetes lets-encrypt cert-manager


【解决方案1】:

尝试使用最新的证书管理器。 如果您还没有设置 issuer.yaml,您还需要它

【讨论】:

    【解决方案2】:

    您尚未创建 clusterissuers,因此它不会存在。

    您已经创建了证书,您可以尝试

    kubectl get certificate
    

    您的错误清楚地表明您必须创建 clusterissuers

    未找到引用的“ClusterIssuer”:clusterissuer.cert-manager.io 找不到“letsencrypt”

    证书管理器站点:https://cert-manager.io/docs/

    安装:https://cert-manager.io/docs/installation/

    单行应用即可:

    kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml
    

    如何配置和设置 clusterissuer : https://cert-manager.io/docs/configuration/acme/

    cluster issueringress 的示例

    apiVersion: cert-manager.io/v1alpha2
    kind: ClusterIssuer
    metadata:
      name: cluster-issuer-name
      namespace: development
    spec:
      acme:
        server: https://acme-v02.api.letsencrypt.org/directory
        email: harsh@example.com
        privateKeySecretRef:
          name: secret-name
        solvers:
        - http01:
            ingress:
              class: nginx-class-name
    ---
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      annotations:
        kubernetes.io/ingress.class: nginx-class-name
        cert-manager.io/cluster-issuer: cluster-issuer-name
        nginx.ingress.kubernetes.io/rewrite-target: /
      name: example-ingress
    spec:
      rules:
      - host: sub.example.com
        http:
          paths:
          - path: /api
            backend:
              serviceName: service-name
              servicePort: 80
      tls:
      - hosts:
        - sub.example.com
        secretName: secret-name
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 2019-09-26
      • 2016-05-04
      • 1970-01-01
      • 2020-08-26
      • 2019-08-02
      相关资源
      最近更新 更多