google-cloud-robotics - cert-manager 无法生成云机器人证书
问题描述
我对证书管理器有疑问,它阻止我将机器人与云集群同步。
似乎是由于证书错误,我可以通过某种方式解决它。
证书管理器的日志:
1 controller.go:200] cert-manager/controller/orders "msg"="re-queuing item due to error processing" "error"="error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: www.endpoints.guminator.cloud.goog: see https://letsencrypt.org/docs/rate-limits/" "key"="default/cloud-robotics-2181866887"
解决方案
这达到了https://letsencrypt.org/docs/rate-limits/中提到的“每周 5 个重复证书限制” 。https://tools.letsdebug.net/cert-search?m=domain&q=www.endpoints.guminator.cloud.goog&d=168显示证书的创建时间。
对于短期解决方案:我希望它会在接下来的几天内再次开始工作,因为第一个证书是在 12 日颁发的。
对于长期解决方案:您是否做过任何会导致此问题的事情,例如多次删除和重新创建集群?如果您需要定期执行此操作,您有两种选择:
备份证书
https://cert-manager.readthedocs.io/en/release-0.9/tasks/backup-restore-crds.html建议使用以下方法来备份和恢复配置:
kubectl get -o yaml \
issuer,clusterissuer,certificates,orders,challenges > cert-manager-backup.yaml
kubectl get -o yaml secret letsencrypt-prod > cert-manager-secret-backup.yaml
然后,在重新创建集群后恢复:
kubectl apply -f cert-manager-secret-backup.yaml
警告:我没有测试过这种方法。
使用暂存环境
https://letsencrypt.org/docs/staging-environment/声明暂存环境每周允许 30,000 个重复证书。你需要:
- 编辑
src/app_charts/base/cloud/cert-manager-issuers.yaml
以参考https://acme-staging-v02.api.letsencrypt.org/directory - 将客户端配置为信任暂存 CA:https ://letsencrypt.org/certs/fakeleintermediatex1.pem
推荐阅读
- java - 如何在 Eclipse 中构建一个没有 maven 和 gradle 文件且 repo 中没有 .jar 文件的 Java Github 项目
- javascript - 带有函数()的Javascript随机数生成器
- arrays - 分配数组超出维度而没有错误消息
- ruby-on-rails - 在 ruby 或 rails 中减去日期
- swift - 从 ObservableObject 发布者更新状态
- rust - 为什么使用Tcplistener传入迭代器时for循环不退出
- python - 谁能告诉我如何在 python 中像所附的那样绘制图表?
- apache-spark - 为什么 Spark 2.4.x 和 scala 2.12 没有 GraphFrames 版本?
- c++ - 为什么在 Ubuntu 中编译时存在的 opencv 文件“没有这样的文件或目录”?
- javascript - 在 PHP/JQUERY 中编辑动态添加的行