Kubernetes cert-manager 证书已创建但无法验证

Kubernetes cert-manager certificate is created but can not get vertified

我正在开发一个 DO kubernetes 集群并在其上安装 ingress nginx 和 argocd,一切似乎都很好,只要他们通过 http 访问服务,我就可以轻松使用 ingress。

我还安装了 certmanager,这里是关于我的入口、证书和颁发者的主要文件:

入口

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: rancher-demo
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    certmanager.k8s.io/cluster-issuer: "letsencrypt-production"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
  - hosts:
      - {sub-domain}
    secretName: ssl-cert-production
  rules:
  - host: {sub-domain}
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service: 
            name: rancher-demo
            port:
              number: 80

发行人

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-production
  namespace: default
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: {my-email}
    privateKeySecretRef:
      name: letsencrypt-production
    solvers:
    - selector: {}
      http01:
        ingress:
          class: nginx

证书

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: ssl-cert-production
  namespace: default
spec:
  secretName: ssl-cert-production
  issuerRef:
    name: letsencrypt-production
    kind: ClusterIssuer
  commonName: {sub-domain}
  dnsNames:
  - {sub-domain}

我在 github 上浏览了一些其他示例,并在 Whosebug 上浏览了一些问题,不幸的是我不知道我哪里做错了。

预先感谢您的关注

我终于设法解决了这个问题,我所做的如下:

  1. 正在创建一个新的 kubernete 实例
  2. 手动安装证书管理器
  3. 手动安装 ingress-nginx
  4. 正在创建发行者(等待它完成)
  5. 创建部署和集群
  6. 正在为我的应用程序创建入口配置
  7. 正在创建证书(等待它完成)

我正在研究 ArgoCD,在使用 Argo 处理 CD 之前必须先自己进行这些设置。我没有正确阅读他们的文档是我自己的错。顺序很重要,但我坐在 Argo 上的方式是并行提供所有内容,例如,在入口启动或发行人到位之前提供证书

此外,对于任何对详细版本感兴趣的人,请查看我在下面创建的 github 存储库:

https://github.com/mehdiamenein/cert-manager-nginx-ingress-do

我希望这对其他人也有帮助:)

非常感谢marcel.dempers的精彩视频https://www.youtube.com/watch?v=hoLUigg4V18

非常感谢@justin 和@harsh-manvar 的评论