【发布时间】:2021-12-14 00:46:13
【问题描述】:
我正在按照 devops guy 教程设置 CERT 管理器。
步骤:
创建新的种类集群
kind create cluster --name certmanager --image kindest/node:v1.19.1
获取证书管理器 yaml
curl -LO https://github.com/jetstack/cert-manager/releases/download/v1.0.4/cert-manager.yaml
安装证书管理器
kubectl apply -f cert-manager-1.0.4.yaml
测试证书创建过程
kubectl create ns cert-manager-test
kubectl apply -f ./selfsigned/issuer.yaml
我修改了证书的样子(添加duration 和renewBefore)
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: selfsigned-cert
namespace: cert-manager-test
spec:
duration: 1h
renewBefore: 20m
dnsNames:
- example.com
secretName: selfsigned-cert-tls
issuerRef:
name: test-selfsigned
申请证书
kubectl apply -f ./selfsigned/certificate.yaml
kubectl describe certificate selfsigned-cert
显示以下内容
Spec:
Dns Names:
example.com
Duration: 1h0m0s
Issuer Ref:
Name: test-selfsigned
Renew Before: 20m0s
Secret Name: selfsigned-cert-tls
Status:
Conditions:
Last Transition Time: 2021-12-14T00:35:09Z
Message: Certificate is up to date and has not expired
Reason: Ready
Status: True
Type: Ready
Not After: 2022-03-14T00:35:09Z
Not Before: 2021-12-14T00:35:09Z
Renewal Time: 2022-03-14T00:15:09Z
Revision: 1
为什么续订时间是今天起 90 天?从我创建它的时间开始应该是 1 小时 ~ (2021-12-14T00:35:09Z),因为我将 duration 设置为 1 小时!
编辑:我实际上已更新到最新的 cert-manager (v.1.6.1) 并执行了完全相同的步骤。它似乎工作。也许是那个版本的错误。奇怪!
【问题讨论】: