Orders
ACME 颁发者使用Orders资源来管理已签名 TLS 证书的 ACME“订单”的生命周期。
当创建引用 ACME 颁发者的证书资源时,cert-manager 将创建一个 Order 资源以获得签名证书。
作为最终用户,您永远不需要手动创建Orders资源。Orders一旦创建,便无法更改。相反,必须创建一个新的 Order 资源。
调试orders资源
为了调试未颁发证书的原因,我们可以首先在遇到问题的证书资源上运行 :kubectl describe
$ kubectl describe certificate example-com
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Generated 1m cert-manager Generated new private key
Normal OrderCreated 1m cert-manager Created Order resource "example-com-1217431265"
我们可以在这里看到证书控制器已经创建了一个 Order 资源来从 ACME 服务器请求一个新的证书。
在调试颁发 ACME 证书的失败时,订单是有用的信息来源。通过按特定顺序运行,可以收集有关流程中失败的信息:kubectl describe order
$ kubectl describe order example-com-1248919344
...
Reason:
State: pending
URL: https://acme-v02.api.letsencrypt.org/acme/order/41123272/265506123
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Created 1m cert-manager Created Challenge resource "example-com-1217431265-0" for domain "test1.example.com"
Normal Created 1m cert-manager Created Challenge resource "example-com-1217431265-1" for domain "test2.example.com"
在这里我们可以看到cert-manager为了满足ACME订单获取签名证书的要求,创建了两个Challenge资源。
然后您可以继续运行 以进一步调试订单的进度。kubectl describe challenge example-com-1217431265-0
orders 成功后,您应该会看到如下所示的事件:
$ kubectl describe order example-com-1248919344
...
Reason:
State: valid
URL: https://acme-v02.api.letsencrypt.org/acme/order/41123272/265506123
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Created 72s cert-manager Created Challenge resource "example-com-1217431265-0" for domain "test1.example.com"
Normal Created 72s cert-manager Created Challenge resource "example-com-1217431265-1" for domain "test2.example.com"
Normal OrderValid 4s cert-manager Order completed successfully
如果Orders未成功完成,您可以通过运行kubectl describe challenges资源来调试订单的挑战。