最新:在 推特Mastodon 获取项目更新。

Akamai

Edge DNS

使用 Edge DNS 创建一个 Secret,通过 Akamai API 凭证 和一个 Issuer 来解决 DNS01 ACME 挑战。该 Issuer 会引用 Secret 并设置求解器类型。

创建 Secret

为了让 Issuer 能够引用,Secret 应该类似于以下格式。请用相应的 Akamai API 凭证值替换 use_akamai_client_secretuse_akamai_access_tokenuse_akamai_client_token

apiVersion: v1
kind: Secret
metadata:
name: akamai-secret
type: Opaque
stringData:
clientSecret: use_akamai_client_secret
accessToken: use_akamai_access_token
clientToken: use_akamai_client_token

创建 Issuer

为了将 Edge DNS 用于挑战令牌,cert-manager 使用一个 Issuer,该 Issuer 会引用上述 Secret 和其他属性,例如求解器类型。该 Issuer 应该类似于以下格式。请用 Akamai API 凭证中的 host 值替换 use_akamai_host

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt-akamai-dns
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: contact@me.com
privateKeySecretRef:
name: letsencrypt-akamai-issuer-account-key
solvers:
- dns01:
akamai:
serviceConsumerDomain: use_akamai_host
clientTokenSecretRef:
name: akamai-secret
key: clientToken
clientSecretSecretRef:
name: akamai-secret
key: clientSecret
accessTokenSecretRef:
name: akamai-secret
key: accessToken

创建证书

Certificate 应该类似于以下格式,并引用上面提到的 Akamai Edge DNS Issuer

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: example-zone
spec:
secretName: akamai-crt-secret
dnsNames:
- '*.example.zone'
issuerRef:
name: letsencrypt-akamai-dns
kind: Issuer

注意:cert-manager 会等待挑战令牌在整个 Edge DNS 网络中传播。可以使用以下命令来跟踪 certificate 状态。

kubectl describe certificate example-zone

故障排除

可以使用以下命令跟踪 cert-manager 事件,以识别任何问题。

cmctl status certificate example-zone