API 參考
cert-manager API 文件,包括各種自訂資源定義
套件
- acme.cert-manager.io/v1
- cainjector.config.cert-manager.io/v1alpha1
- cert-manager.io/v1
- controller.config.cert-manager.io/v1alpha1
- meta.cert-manager.io/v1
- webhook.config.cert-manager.io/v1alpha1
acme.cert-manager.io/v1
套件 v1 是 API 的 v1 版本。
資源類型
挑戰
Challenge 是一種類型,代表與 ACME 伺服器的挑戰請求
欄位 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion 字串 | acme.cert-manager.io/v1 | ||||||||||||||||||
種類 字串 | 挑戰 | ||||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | 請參閱 Kubernetes API 文件,了解 | ||||||||||||||||||
spec ChallengeSpec |
| ||||||||||||||||||
status ChallengeStatus | (選用) |
訂單
Order 是一種代表與 ACME 伺服器的 Order 的類型
欄位 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion 字串 | acme.cert-manager.io/v1 | ||||||||||||
種類 字串 | 訂單 | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | 請參閱 Kubernetes API 文件,了解 | ||||||||||||
spec OrderSpec |
| ||||||||||||
status OrderStatus | (選用) |
ACMEAuthorization
(顯示於: OrderStatus)
ACMEAuthorization 包含從 ACME 伺服器傳回的授權資料,必須完成此授權才能驗證 ACME Order 資源上的 DNS 名稱。
欄位 | 描述 |
---|---|
url 字串 | URL 是必須完成的授權的 URL |
identifier 字串 | (選用) Identifier 是在此授權中要驗證的 DNS 名稱 |
wildcard 布林值 | (選用) 如果此授權用於萬用字元 DNS 名稱,則 Wildcard 將為 true。如果此值為 true,則 identifier 將為 DNS 名稱的非萬用字元版本。例如,如果正在驗證 ‘*.example.com’ 的 DNS 名稱,則此欄位將為 ‘true’,而 ‘identifier’ 欄位將為 ‘example.com’。 |
initialState State | (選用) InitialState 是第一次從 ACME 伺服器擷取時 ACME 授權的初始狀態。如果授權已經是「valid」,則 Order 控制器不會為該授權建立 Challenge 資源。當使用啟用「authz 重複使用」(例如 Let’s Encrypt 的生產端點) 的 ACME 伺服器時,會發生這種情況。如果未設定且設定了 ‘identifier’,則會假設狀態為擱置中,並會建立 Challenge。 |
challenges []ACMEChallenge | (選用) Challenges 指定 ACME 伺服器提供的挑戰類型。在驗證 DNS 名稱時,會選取其中一種挑戰類型,並會建立適當的 Challenge 資源來執行 ACME 挑戰程序。 |
ACMEChallenge
(顯示於: ACMEAuthorization)
Challenge 指定 ACME 伺服器為 Order 提供的挑戰。可以建立適當的 Challenge 資源來執行 ACME 挑戰程序。
欄位 | 描述 |
---|---|
url 字串 | URL 是此挑戰的 URL。它可用於從 ACME 伺服器擷取有關挑戰的其他中繼資料。 |
token 字串 | Token 是必須為此挑戰呈現的權杖。這用於計算也必須呈現的「key」。 |
type 字串 | Type 是提供的挑戰類型,例如 ‘http-01’、’dns-01’、’tls-sni-01’ 等。這是從 ACME 伺服器擷取的原始值。cert-manager 僅支援 ‘http-01’ 和 ‘dns-01’,將忽略其他值。 |
ACMEChallengeSolver
(顯示於: ACMEIssuer, ChallengeSpec)
ACMEChallengeSolver 描述如何解決它所屬簽發者的 ACME 挑戰。可以提供選擇器,以便針對不同的 DNS 名稱使用不同的解決策略。僅可提供 HTTP01 或 DNS01 其中之一。
欄位 | 描述 |
---|---|
selector CertificateDNSNameSelector | (選用) Selector 選取應該使用此挑戰解題器解決的憑證資源上的一組 DNSName。如果未指定,則會將解題器視為具有最低優先順序的「預設」解題器,即,如果任何其他解題器具有更特定的比對,則將改為使用該解題器。 |
http01 ACMEChallengeSolverHTTP01 | (選用) 設定 cert-manager 以嘗試透過執行 HTTP01 挑戰流程來完成授權。無法使用 HTTP01 挑戰機制取得萬用字元網域名稱 (例如 |
dns01 ACMEChallengeSolverDNS01 | (選用) 設定 cert-manager 以嘗試透過執行 DNS01 挑戰流程來完成授權。 |
ACMEChallengeSolverDNS01
(顯示於: ACMEChallengeSolver)
用於設定在解決 DNS01 挑戰時使用的 DNS01 挑戰提供者。每個解題器僅可設定一個 DNS 提供者。
欄位 | 描述 |
---|---|
cnameStrategy CNAMEStrategy | (選用) CNAMEStrategy 設定當在 DNS 區域中找到 CNAME 記錄時,DNS01 提供者應如何處理 CNAME 記錄。 |
akamai ACMEIssuerDNS01ProviderAkamai | (選用) 使用 Akamai DNS 區域管理 API 來管理 DNS01 挑戰記錄。 |
cloudDNS ACMEIssuerDNS01ProviderCloudDNS | (選用) 使用 Google Cloud DNS API 來管理 DNS01 挑戰記錄。 |
cloudflare ACMEIssuerDNS01ProviderCloudflare | (選用) 使用 Cloudflare API 來管理 DNS01 挑戰記錄。 |
route53 ACMEIssuerDNS01ProviderRoute53 | (選用) 使用 AWS Route53 API 來管理 DNS01 挑戰記錄。 |
azureDNS ACMEIssuerDNS01ProviderAzureDNS | (選用) 使用 Microsoft Azure DNS API 來管理 DNS01 挑戰記錄。 |
digitalocean ACMEIssuerDNS01ProviderDigitalOcean | (選用) 使用 DigitalOcean DNS API 來管理 DNS01 挑戰記錄。 |
acmeDNS ACMEIssuerDNS01ProviderAcmeDNS | (選用) 使用 ‘ACME DNS’ (https://github.com/joohoi/acme-dns) API 來管理 DNS01 挑戰記錄。 |
rfc2136 ACMEIssuerDNS01ProviderRFC2136 | (選用) 使用 RFC2136 (網域名稱系統中的「動態更新」) (https://datatracker.ietf.org/doc/rfc2136/) 來管理 DNS01 挑戰記錄。 |
webhook ACMEIssuerDNS01ProviderWebhook | (選用) 設定基於外部 Webhook 的 DNS01 挑戰解題器來管理 DNS01 挑戰記錄。 |
ACMEChallengeSolverHTTP01
(顯示於: ACMEChallengeSolver)
ACMEChallengeSolverHTTP01 包含詳細說明如何在 Kubernetes 叢集中解決 HTTP01 挑戰的組態。通常,這是透過建立某種描述的「路由」來完成,這些路由設定輸入控制器以將流量導向「解題器 Pod」,這些 Pod 負責回應 ACME 伺服器的 HTTP 請求。僅可指定 Ingress / Gateway 其中之一。
欄位 | 描述 |
---|---|
ingress ACMEChallengeSolverHTTP01Ingress | (選用) 基於輸入的 HTTP01 挑戰解題器將透過建立或修改 Ingress 資源來解決挑戰,以便將針對 ‘/.well-known/acme-challenge/XYZ’ 的請求路由至 cert-manager 為每個要完成的挑戰佈建的「挑戰解題器」Pod。 |
gatewayHTTPRoute ACMEChallengeSolverHTTP01GatewayHTTPRoute | (選用) Gateway API 是一個 sig-network 社區 API,可在 Kubernetes 中建模服務網路 (https://gateway-api.sigs.k8s.io/)。Gateway 解題器將在與挑戰相同的命名空間中建立具有指定標籤的 HTTPRoutes。此解題器為實驗性質,欄位/行為可能會在未來變更。 |
ACMEChallengeSolverHTTP01GatewayHTTPRoute
(顯示於: ACMEChallengeSolverHTTP01)
ACMEChallengeSolverHTTP01GatewayHTTPRoute 解題器將為路由至 ACME 挑戰解題器 Pod 的 Gateway 類別建立 HTTPRoute 物件。
欄位 | 描述 |
---|---|
serviceType Kubernetes core/v1.ServiceType | (選用) Kubernetes 解題器服務的選用服務類型。支援的值為 NodePort 或 ClusterIP。如果未設定,則預設為 NodePort。 |
labels map[string]string | (選用) 在解決 HTTP-01 挑戰時,將套用至 cert-manager 所建立之 HTTPRoute 的自訂標籤。 |
parentRefs []sigs.k8s.io/gateway-api/apis/v1.ParentReference | 在解決 HTTP-01 挑戰時,cert-manager 會建立 HTTPRoute。cert-manager 需要知道在建立 HTTPRoute 時應使用哪些 parentRefs。通常,parentRef 參考 Gateway。請參閱:https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways |
podTemplate ACMEChallengeSolverHTTP01IngressPodTemplate | (選用) 用於設定用於 HTTP01 挑戰之 ACME 挑戰解題器 Pod 的選用 Pod 範本。 |
ACMEChallengeSolverHTTP01Ingress
(顯示於: ACMEChallengeSolverHTTP01)
欄位 | 描述 |
---|---|
serviceType Kubernetes core/v1.ServiceType | (選用) Kubernetes 解題器服務的選用服務類型。支援的值為 NodePort 或 ClusterIP。如果未設定,則預設為 NodePort。 |
ingressClassName 字串 | (選用) 此欄位設定用於解決 ACME 挑戰的 Ingress 資源上的 |
class 字串 | (選用) 此欄位在建立 Ingress 資源以解決使用此挑戰解決器的 ACME 挑戰時,會設定註解 |
name 字串 | (選用) 為了解決 HTTP01 挑戰,應將 ACME 挑戰解決路由插入其中的 Ingress 資源名稱。這通常與 ingress-gce 等 Ingress 控制器結合使用,這些控制器會在外部 IP 和 Ingress 資源之間維持 1:1 的對應關係。只能指定 |
podTemplate ACMEChallengeSolverHTTP01IngressPodTemplate | (選用) 用於設定用於 HTTP01 挑戰之 ACME 挑戰解題器 Pod 的選用 Pod 範本。 |
ingressTemplate ACMEChallengeSolverHTTP01IngressTemplate | (選用) 用於設定用於 HTTP01 挑戰的 ACME 挑戰解決器 Ingress 的可選 Ingress 範本。 |
ACMEChallengeSolverHTTP01IngressObjectMeta
(出現於: ACMEChallengeSolverHTTP01IngressTemplate)
欄位 | 描述 |
---|---|
annotations map[string]string | (選用) 應新增至已建立的 ACME HTTP01 解決器 Ingress 的註解。 |
labels map[string]string | (選用) 應新增至已建立的 ACME HTTP01 解決器 Ingress 的標籤。 |
ACMEChallengeSolverHTTP01IngressPodObjectMeta
(出現於: ACMEChallengeSolverHTTP01IngressPodTemplate)
欄位 | 描述 |
---|---|
annotations map[string]string | (選用) 應新增至已建立的 ACME HTTP01 解決器 Pod 的註解。 |
labels map[string]string | (選用) 應新增至已建立的 ACME HTTP01 解決器 Pod 的標籤。 |
ACMEChallengeSolverHTTP01IngressPodSecurityContext
(出現於: ACMEChallengeSolverHTTP01IngressPodSpec)
欄位 | 描述 |
---|---|
seLinuxOptions Kubernetes core/v1.SELinuxOptions | (選用) 要套用至所有容器的 SELinux 上下文。如果未指定,容器執行階段會為每個容器配置隨機的 SELinux 上下文。也可以在 SecurityContext 中設定。如果在 SecurityContext 和 PodSecurityContext 中都設定了,則 SecurityContext 中指定的值優先於該容器。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
runAsUser int64 | (選用) 執行容器進程進入點的 UID。如果未指定,預設為映像中指定的用戶。也可以在 SecurityContext 中設定。如果在 SecurityContext 和 PodSecurityContext 中都設定了,則 SecurityContext 中指定的值優先於該容器。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
runAsGroup int64 | (選用) 執行容器進程進入點的 GID。如果未設定,則使用執行階段預設值。也可以在 SecurityContext 中設定。如果在 SecurityContext 和 PodSecurityContext 中都設定了,則 SecurityContext 中指定的值優先於該容器。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
runAsNonRoot 布林值 | (選用) 表示容器必須以非 root 使用者身分執行。如果為 true,Kubelet 會在執行階段驗證映像,以確保其不會以 UID 0 (root) 身分執行,如果執行則會無法啟動容器。如果未設定或為 false,則不會執行此類驗證。也可以在 SecurityContext 中設定。如果在 SecurityContext 和 PodSecurityContext 中都設定了,則 SecurityContext 中指定的值優先。 |
supplementalGroups []int64 | (選用) 除了容器的主要 GID、fsGroup(如果已指定)和容器映像中為容器進程的 uid 定義的群組成員身分之外,還會套用至每個容器中執行的第一個進程的群組清單。如果未指定,則不會將任何額外群組新增至任何容器。請注意,即使未包含在此清單中,容器映像中為容器進程的 uid 定義的群組成員身分仍然有效。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
fsGroup int64 | (選用) 一個特殊的補充群組,適用於 Pod 中的所有容器。某些磁碟區類型允許 Kubelet 變更該磁碟區的所有權,使其歸 Pod 所有
如果未設定,Kubelet 將不會修改任何磁碟區的所有權和許可權。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
sysctls []Kubernetes core/v1.Sysctl | (選用) Sysctls 保留用於 Pod 的命名空間 sysctl 清單。具有不受支援的 sysctl(由容器執行階段)的 Pod 可能會無法啟動。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
fsGroupChangePolicy Kubernetes core/v1.PodFSGroupChangePolicy | (選用) fsGroupChangePolicy 定義在 Pod 內部公開之前,變更磁碟區所有權和許可權的行為。此欄位僅適用於支援基於 fsGroup 所有權(和許可權)的磁碟區類型。它對臨時磁碟區類型(例如:secret、configmaps 和 emptydir)沒有影響。有效值為「OnRootMismatch」和「Always」。如果未指定,則使用「Always」。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
seccompProfile Kubernetes core/v1.SeccompProfile | (選用) 此 Pod 中的容器要使用的 seccomp 選項。請注意,當 spec.os.name 為 windows 時,無法設定此欄位。 |
ACMEChallengeSolverHTTP01IngressPodSpec
(出現於: ACMEChallengeSolverHTTP01IngressPodTemplate)
欄位 | 描述 |
---|---|
nodeSelector map[string]string | (選用) NodeSelector 是一個選擇器,對於 Pod 適合在節點上而言,該選擇器必須為 true。選擇器必須符合節點的標籤,才能在該節點上排程 Pod。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/configuration/assign-pod-node/ |
affinity Kubernetes core/v1.Affinity | (選用) 如果指定,則為 Pod 的排程約束 |
tolerations []Kubernetes core/v1.Toleration | (選用) 如果指定,則為 Pod 的容忍度。 |
priorityClassName 字串 | (選用) 如果指定,則為 Pod 的 priorityClassName。 |
serviceAccountName 字串 | (選用) 如果指定,則為 Pod 的服務帳戶 |
imagePullSecrets []Kubernetes core/v1.LocalObjectReference | (選用) 如果指定,則為 Pod 的 imagePullSecrets |
securityContext ACMEChallengeSolverHTTP01IngressPodSecurityContext | (選用) 如果指定,則為 Pod 的安全性上下文 |
ACMEChallengeSolverHTTP01IngressPodTemplate
(出現於: ACMEChallengeSolverHTTP01GatewayHTTPRoute, ACMEChallengeSolverHTTP01Ingress)
欄位 | 描述 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata ACMEChallengeSolverHTTP01IngressPodObjectMeta | (選用) 用於解決 HTTP01 挑戰的 Pod 的 ObjectMeta 覆寫。只能設定「labels」和「annotations」欄位。如果標籤或註解與內建值重疊,則此處的值將覆寫內建值。 | ||||||||||||||
spec ACMEChallengeSolverHTTP01IngressPodSpec | (選用) PodSpec 定義了 HTTP01 挑戰解決器 Pod 的覆寫。請檢查 ACMEChallengeSolverHTTP01IngressPodSpec 以找出目前支援的欄位。所有其他欄位都將被忽略。
|
ACMEChallengeSolverHTTP01IngressTemplate
(出現於: ACMEChallengeSolverHTTP01Ingress)
欄位 | 描述 |
---|---|
metadata ACMEChallengeSolverHTTP01IngressObjectMeta | (選用) 用於解決 HTTP01 挑戰的 Ingress 的 ObjectMeta 覆寫。只能設定「labels」和「annotations」欄位。如果標籤或註解與內建值重疊,則此處的值將覆寫內建值。 |
ACMEChallengeType (string
別名)
(出現於: ChallengeSpec)
ACME 挑戰的類型。僅支援 HTTP-01 和 DNS-01。
Value | 描述 |
---|---|
"DNS-01" | ACMEChallengeTypeDNS01 表示挑戰類型為 dns-01。更多資訊:https://letsencrypt.dev.org.tw/docs/challenge-types/#dns-01-challenge |
"HTTP-01" | ACMEChallengeTypeHTTP01 表示挑戰類型為 http-01。更多資訊:https://letsencrypt.dev.org.tw/docs/challenge-types/#http-01-challenge |
ACMEExternalAccountBinding
(出現於: ACMEIssuer)
ACMEExternalAccountBinding 是對 ACME 伺服器 CA 外部帳戶的參考。
欄位 | 描述 |
---|---|
keyID 字串 | keyID 是與外部帳戶綁定的 CA 金鑰 ID。 |
keySecretRef SecretKeySelector | keySecretRef 是一個 Secret Key Selector,參考 Kubernetes Secret 中的資料項目,其中保存了外部帳戶綁定的對稱 MAC 金鑰。 |
keyAlgorithm HMACKeyAlgorithm | (選用) 已棄用:keyAlgorithm 欄位存在是為了歷史相容性原因,不應使用。現在演算法在 golang/x/crypto/acme 中硬編碼為 HS256。 |
ACMEIssuer
(出現於: IssuerConfig)
ACMEIssuer 包含 ACME 發行者的規範。這使用 RFC8555 規範,通過完成「挑戰」來證明網域識別符的所有權,從而獲得憑證。不支援 ACME 規範的早期草案版本。
欄位 | 描述 |
---|---|
email 字串 | (選用) Email 是與 ACME 帳戶關聯的電子郵件地址。此欄位是可選的,但強烈建議設定。如果您的帳戶或憑證出現問題,包括過期通知電子郵件,將會使用它與您聯繫。此欄位可以在帳戶初始註冊後更新。 |
server 字串 | Server 是用於存取 ACME 伺服器的「目錄」端點的 URL。例如,對於 Let’s Encrypt 的測試端點,您將使用:「https://acme-staging-v02.api.letsencrypt.org/directory」。僅支援 ACME v2 端點 (即 RFC 8555)。 |
preferredChain 字串 | (選用) PreferredChain 是如果 ACME 伺服器輸出多個鏈時要使用的鏈。PreferredChain 不能保證 ACME 端點交付此鏈。例如,對於 Let’s Encrypt 的 DST 交叉簽名,您將使用:「DST Root CA X3」或「ISRG Root X1」作為較新的 Let’s Encrypt 根 CA。此值會選取 ACME 預設鏈和替代鏈的組合集中,具有此值作為其發行者通用名稱的最頂層憑證的第一個憑證組合。 |
caBundle []byte | (選用) PEM CA 的 Base64 編碼組合,可用於驗證 ACME 伺服器呈現的憑證鏈。與 SkipTLSVerify 互斥;優先使用 CABundle 以防止各種安全漏洞。如果 CABundle 和 SkipTLSVerify 未設定,則使用容器內的系統憑證組合來驗證 TLS 連線。 |
skipTLSVerify 布林值 | (選用) 不安全:啟用或停用 ACME 伺服器 TLS 憑證的驗證。如果為 true,則對 ACME 伺服器的請求將不會驗證 TLS 憑證鏈。與 CABundle 互斥;建議使用 CABundle 來防止各種安全漏洞。僅在開發環境中啟用此選項。如果 CABundle 和 SkipTLSVerify 未設定,則容器內的系統憑證包將用於驗證 TLS 連線。預設值為 false。 |
externalAccountBinding ACMEExternalAccountBinding | (選用) ExternalAccountBinding 是對 ACME 伺服器 CA 外部帳戶的參考。如果設定,cert-manager 將在註冊時嘗試將給定的外部帳戶憑證與已註冊的 ACME 帳戶關聯。 |
privateKeySecretRef SecretKeySelector | PrivateKey 是 Kubernetes Secret 資源的名稱,將用於儲存自動產生的 ACME 帳戶私鑰。您可以選擇指定一個 |
solvers []ACMEChallengeSolver | (選用) Solvers 是挑戰解算器的清單,將用於解決相符網域的 ACME 挑戰。必須提供解算器配置才能從 ACME 伺服器取得憑證。如需更多資訊,請參閱:https://cert-manager.dev.org.tw/docs/configuration/acme/ |
disableAccountKeyGeneration 布林值 | (選用) 啟用或停用產生新的 ACME 帳戶金鑰。如果為 true,Issuer 資源將不會請求新帳戶,但會預期透過現有的 secret 提供帳戶金鑰。如果為 false,cert-manager 系統將為 Issuer 產生新的 ACME 帳戶金鑰。預設值為 false。 |
enableDurationFeature 布林值 | (選用) 啟用在憑證上請求符合憑證期限的 Not After 日期。並非所有 ACME 伺服器(如 Let’s Encrypt)都支援此功能。如果 ACME 伺服器不支援此功能時設定為 true,則會在 Order 上產生錯誤。預設值為 false。 |
ACMEIssuerDNS01ProviderAcmeDNS
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderAcmeDNS 是一個結構,包含 ACME-DNS 伺服器的配置
欄位 | 描述 |
---|---|
host 字串 | |
accountSecretRef SecretKeySelector |
ACMEIssuerDNS01ProviderAkamai
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderAkamai 是一個結構,包含 Akamai DNS 的 DNS 配置—區域記錄管理 API
欄位 | 描述 |
---|---|
serviceConsumerDomain 字串 | |
clientTokenSecretRef SecretKeySelector | |
clientSecretSecretRef SecretKeySelector | |
accessTokenSecretRef SecretKeySelector |
ACMEIssuerDNS01ProviderAzureDNS
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderAzureDNS 是一個結構,包含 Azure DNS 的配置
欄位 | 描述 |
---|---|
clientID 字串 | (選用) 驗證:Azure 服務主體:用於向 Azure DNS 驗證的 Azure 服務主體的 ClientID。如果設定,則也必須設定 ClientSecret 和 TenantID。 |
clientSecretSecretRef SecretKeySelector | (選用) 驗證:Azure 服務主體:對包含與服務主體相關聯的密碼的 Secret 的參考。如果設定,則也必須設定 ClientID 和 TenantID。 |
subscriptionID 字串 | Azure 訂閱的 ID |
tenantID 字串 | (選用) 驗證:Azure 服務主體:用於向 Azure DNS 驗證的 Azure 服務主體的 TenantID。如果設定,則也必須設定 ClientID 和 ClientSecret。 |
resourceGroupName 字串 | DNS 區域所在的資源群組 |
hostedZoneName 字串 | (選用) 應使用的 DNS 區域的名稱 |
environment AzureDNSEnvironment | (選用) Azure 環境的名稱 (預設值為 AzurePublicCloud) |
managedIdentity AzureManagedIdentity | (選用) 驗證:Azure 工作負載身分識別或 Azure 受管理服務身分識別:用於啟用 Azure 工作負載身分識別或 Azure 受管理服務身分識別的設定。如果設定,則不得設定 ClientID、ClientSecret 和 TenantID。 |
ACMEIssuerDNS01ProviderCloudDNS
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderCloudDNS 是一個結構,包含 Google Cloud DNS 的 DNS 配置
欄位 | 描述 |
---|---|
serviceAccountSecretRef SecretKeySelector | (選用) |
project 字串 | |
hostedZoneName 字串 | (選用) HostedZoneName 是一個選填欄位,告知 cert-manager 必須在其中建立挑戰記錄的 Cloud DNS 區域。如果留空,cert-manager 會自動選擇一個區域。 |
ACMEIssuerDNS01ProviderCloudflare
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderCloudflare 是一個結構,包含 Cloudflare 的 DNS 配置。必須提供 apiKeySecretRef
或 apiTokenSecretRef
其中之一。
欄位 | 描述 |
---|---|
email 字串 | (選用) 帳戶電子郵件,僅在使用基於 API 金鑰的驗證時才需要。 |
apiKeySecretRef SecretKeySelector | (選用) 用於向 Cloudflare 驗證的 API 金鑰。注意:現在建議使用 API 權杖進行驗證,因為它允許更好地控制權限。 |
apiTokenSecretRef SecretKeySelector | (選用) 用於向 Cloudflare 驗證的 API 權杖。 |
ACMEIssuerDNS01ProviderDigitalOcean
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderDigitalOcean 是一個結構,包含 DigitalOcean 網域的 DNS 配置
欄位 | 描述 |
---|---|
tokenSecretRef SecretKeySelector |
ACMEIssuerDNS01ProviderRFC2136
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderRFC2136 是一個結構,包含 RFC2136 DNS 的配置
欄位 | 描述 |
---|---|
nameserver 字串 | 支援 RFC2136 的授權 DNS 伺服器的 IP 位址或主機名稱,格式為 host:port。如果主機是 IPv6 位址,則必須以方括號括住(例如 [2001:db8::1]);port 是選填的。此欄位為必填。 |
tsigSecretSecretRef SecretKeySelector | (選用) 包含 TSIG 值的 Secret 的名稱。如果已定義 |
tsigKeyName 字串 | (選用) 在 DNS 中配置的 TSIG 金鑰名稱。如果已定義 |
tsigAlgorithm 字串 | (選用) 在支援 RFC2136 的 DNS 中配置的 TSIG 演算法。僅當定義了 |
ACMEIssuerDNS01ProviderRoute53
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderRoute53 是一個結構,包含 AWS 的 Route 53 配置
欄位 | 描述 |
---|---|
auth Route53Auth | (選用) Auth 配置 cert-manager 的驗證方式。 |
accessKeyID 字串 | (選用) AccessKeyID 用於驗證。當設定 SecretAccessKeyID 時無法設定。如果既未設定 Access Key 也未設定 Key ID,我們會回退為使用環境變數、共用憑證檔案或 AWS 執行個體中繼資料,請參閱:https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials |
accessKeyIDSecretRef SecretKeySelector | (選用) SecretAccessKey 用於驗證。如果設定,則從 Kubernetes Secret 中的金鑰提取 AWS access key ID。當設定 AccessKeyID 時無法設定。如果既未設定 Access Key 也未設定 Key ID,我們會回退為使用環境變數、共用憑證檔案或 AWS 執行個體中繼資料,請參閱:https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials |
secretAccessKeySecretRef SecretKeySelector | (選用) SecretAccessKey 用於驗證。如果既未設定 Access Key 也未設定 Key ID,我們會回退為使用環境變數、共用憑證檔案或 AWS 執行個體中繼資料,請參閱:https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials |
role 字串 | (選用) Role 是 Route53 提供者將使用明確憑證 AccessKeyID/SecretAccessKey 或從環境變數、共用憑證檔案或 AWS 執行個體中繼資料推斷的憑證假設的角色 ARN |
hostedZoneID 字串 | (選用) 如果設定,則提供者將僅管理 Route53 中的此區域,並且不會使用 route53:ListHostedZonesByName api 呼叫執行查閱。 |
region 字串 | (選用) 覆寫 AWS 區域。 Route53 是一項全球服務,沒有區域端點,但此處(或透過環境變數)指定的區域會作為提示,以協助計算連線到 Route53 時正確的 AWS 憑證範圍和分割區。請參閱:- Amazon Route 53 端點和配額- 全球服務 如果您省略此區域欄位,cert-manager 將使用來自 AWS_REGION 和 AWS_DEFAULT_REGION 環境變數的區域(如果它們設定在 cert-manager 控制器 Pod 中)。 如果您使用服務帳戶的 IAM 角色 (IRSA),則不需要 如果您使用EKS Pod 身分識別,則不需要 |
ACMEIssuerDNS01ProviderWebhook
(顯示於: ACMEChallengeSolverDNS01)
ACMEIssuerDNS01ProviderWebhook 指定 webhook DNS01 提供者的配置,包括要將 ChallengePayload 資源 POST 到何處。
欄位 | 描述 |
---|---|
groupName 字串 | 當將 ChallengePayload 資源 POST 到 webhook apiserver 時應使用的 API 群組名稱。這應與 webhook 提供者實作中指定的 GroupName 相同。 |
solverName 字串 | 要使用的解算器的名稱,如 webhook 提供者實作中所定義。這通常會是提供者的名稱,例如 'cloudflare'。 |
config Kubernetes apiextensions/v1.JSON | (選用) 在處理挑戰時應傳遞給 webhook apiserver 的其他配置。這可以包含任意 JSON 資料。不應在此 stanza 中指定密碼值。如果需要密碼值(例如,DNS 服務的憑證),則應使用 SecretKeySelector 來參考 Secret 資源。如需此欄位結構的詳細資訊,請參閱 webhook 提供者實作的文件。 |
ACMEIssuerStatus
(顯示於: IssuerStatus)
欄位 | 描述 |
---|---|
uri 字串 | (選用) URI 是唯一的帳戶識別碼,也可用於從 CA 檢索帳戶詳細資料 |
lastRegisteredEmail 字串 | (選用) LastRegisteredEmail 是與最新註冊的 ACME 帳戶相關聯的電子郵件,以便追蹤對與 Issuer 相關聯的已註冊帳戶所做的變更 |
lastPrivateKeyHash 字串 | (選用) LastPrivateKeyHash 是與最新註冊的 ACME 帳戶相關聯的私鑰的雜湊,以便追蹤對與 Issuer 相關聯的已註冊帳戶所做的變更 |
AzureDNSEnvironment(string
別名)
(顯示於: ACMEIssuerDNS01ProviderAzureDNS)
Value | 描述 |
---|---|
"AzureChinaCloud" | |
"AzureGermanCloud" | |
"AzurePublicCloud" | |
"AzureUSGovernmentCloud" |
AzureManagedIdentity
(顯示於: ACMEIssuerDNS01ProviderAzureDNS)
AzureManagedIdentity 包含 Azure 工作負載身分識別或 Azure 受管理服務身分識別的配置。如果設定了 AZURE_FEDERATED_TOKEN_FILE 環境變數,則將使用 Azure 工作負載身分識別。否則,我們會回退為使用 Azure 受管理服務身分識別。
欄位 | 描述 |
---|---|
clientID 字串 | (選用) 受管理身分識別的客戶端 ID,不能與 resourceID 同時使用 |
resourceID 字串 | (選用) 受管理身分識別的資源 ID,不能與 clientID 同時使用。不能用於 Azure 受管理服務身分識別 |
CNAMEStrategy(string
別名)
(顯示於: ACMEChallengeSolverDNS01)
CNAMEStrategy 配置 DNS01 提供者應如何在 DNS 區域中找到 CNAME 記錄時處理它們。預設情況下,將應用 None 策略(即,不追蹤 CNAME)。
CertificateDNSNameSelector
(顯示於: ACMEChallengeSolver)
CertificateDNSNameSelector 使用標籤選取器選取憑證,並且可以選擇性地選取這些憑證中的個別 DNS 名稱。如果 MatchLabels 和 DNSNames 都為空,則此選取器將比對所有憑證及其中的 DNS 名稱。
欄位 | 描述 |
---|---|
matchLabels map[string]string | (選用) 一個標籤選取器,用於精煉此挑戰解算器將套用的憑證集。 |
dnsNames []string | (選用) 此求解器將用於解析的 DNS 名稱清單。如果指定且找到匹配項,則 dnsNames 選擇器將優先於 dnsZones 選擇器。如果多個求解器匹配相同的 dnsNames 值,則會選擇 matchLabels 中具有最多匹配標籤的求解器。如果兩者都沒有更多匹配項,則會選擇列表中較早定義的求解器。 |
dnsZones []string | (選用) 此求解器將用於解析的 DNS 區域清單。此處指定的最特定 DNS 區域匹配將優先於其他 DNS 區域匹配,因此對於網域 www.sys.example.com,指定 sys.example.com 的求解器將被選中,而不是指定 example.com 的求解器。如果多個求解器匹配相同的 dnsZones 值,則會選擇 matchLabels 中具有最多匹配標籤的求解器。如果兩者都沒有更多匹配項,則會選擇列表中較早定義的求解器。 |
ChallengeSpec
(出現於: Challenge)
欄位 | 描述 |
---|---|
url 字串 | 此挑戰的 ACME 挑戰資源的 URL。可用於查詢此挑戰的狀態詳細資訊。 |
authorizationURL 字串 | 此挑戰所屬的 ACME 授權資源的 URL。 |
dnsName 字串 | dnsName 是此挑戰所針對的識別符,例如 example.com。如果請求的 DNSName 是「萬用字元」,則此欄位必須設定為非萬用字元的網域,例如對於 |
wildcard 布林值 | (選用) 如果此挑戰針對萬用字元識別符 (例如 ‘*.example.com’),則 wildcard 將為 true。 |
type ACMEChallengeType | 此資源代表的 ACME 挑戰類型。「HTTP-01」或「DNS-01」其中之一。 |
token 字串 | 此挑戰的 ACME 挑戰權杖。這是從 ACME 伺服器傳回的原始值。 |
key 字串 | 此挑戰的 ACME 挑戰金鑰。對於 HTTP01 挑戰,這是必須回應用於完成 HTTP01 挑戰的值,格式如下: |
solver ACMEChallengeSolver | 包含應使用來解決此挑戰資源的網域解決組態。 |
issuerRef ObjectReference | 參考正確設定的 ACME 類型簽發者,該簽發者應用於建立此挑戰。如果簽發者不存在,則會重試處理。如果簽發者不是「ACME」簽發者,則會傳回錯誤,且挑戰將標示為失敗。 |
ChallengeStatus
(出現於: Challenge)
欄位 | 描述 |
---|---|
processing 布林值 | (選用) 用於表示是否應處理此挑戰。此欄位只會由「排程」元件設定為 true。只有在挑戰達到最終狀態或逾時後,才會由「challenges」控制器設定為 false。如果此欄位設定為 false,則挑戰控制器將不會採取任何進一步的動作。 |
presented 布林值 | (選用) 如果此挑戰的挑戰值目前已「呈現」,則 presented 將設定為 true。這並不表示自我檢查通過。僅表示已針對適當的挑戰機制「提交」這些值(即,已呈現 DNS01 TXT 記錄,或已設定 HTTP01 設定)。 |
reason 字串 | (選用) 包含有關挑戰目前狀態的人類可讀資訊。 |
state State | (選用) 包含挑戰的目前「狀態」。如果未設定,則挑戰的狀態未知。 |
HMACKeyAlgorithm (string
別名)
(出現於: ACMEExternalAccountBinding)
HMACKeyAlgorithm 是用於 HMAC 加密的金鑰演算法名稱
Value | 描述 |
---|---|
"HS256" | |
"HS384" | |
"HS512" |
OrderSpec
(出現於: Order)
欄位 | 描述 |
---|---|
request []byte | DER 編碼的憑證簽署請求位元組。這會在完成訂單時使用。此欄位必須在訂單上設定。 |
issuerRef ObjectReference | IssuerRef 參考正確設定的 ACME 類型簽發者,該簽發者應用於建立此訂單。如果簽發者不存在,則會重試處理。如果簽發者不是「ACME」簽發者,則會傳回錯誤,且訂單將標示為失敗。 |
commonName 字串 | (選用) CommonName 是 DER 編碼 CSR 上指定的通用名稱。如果指定,此值也必須存在於 |
dnsNames []string | (選用) DNSNames 是應包含為訂單驗證程序一部分的 DNS 名稱清單。此欄位必須與 DER 編碼 CSR 上的對應欄位相符。 |
ipAddresses []string | (選用) IPAddresses 是應包含為訂單驗證程序一部分的 IP 位址清單。此欄位必須與 DER 編碼 CSR 上的對應欄位相符。 |
duration Kubernetes meta/v1.Duration | (選用) Duration 是請求憑證的「Not After」日期的持續時間。這是在訂單建立時依照 ACME 規範設定。 |
OrderStatus
(出現於: Order)
欄位 | 描述 |
---|---|
url 字串 | (選用) Order 的 URL。當首次建立資源時,此欄位最初將為空。Order 控制器會在首次處理 Order 時填入此欄位。此欄位在首次設定後將不可變。 |
finalizeURL 字串 | (選用) Order 的 FinalizeURL。一旦訂單完成,此網址用於取得此訂單的憑證。 |
authorizations []ACMEAuthorization | (選用) Authorizations 包含從 ACME 伺服器傳回的資料,說明為了驗證 Order 上指定的 DNS 名稱必須完成哪些授權。 |
certificate []byte | (選用) Certificate 是此 Order 的 PEM 編碼憑證副本。此欄位會在訂單成功在 ACME 伺服器上完成並轉換為「有效」狀態後填入。 |
state State | (選用) State 包含此 Order 資源的目前狀態。「success」和「expired」狀態為「最終」狀態 |
reason 字串 | (選用) Reason 選擇性地提供更多關於訂單目前狀態的原因資訊。 |
failureTime Kubernetes meta/v1.Time | (選用) FailureTime 儲存此訂單失敗的時間。這用於影響垃圾收集和退避。 |
Route53Auth
(出現於: ACMEIssuerDNS01ProviderRoute53)
Route53Auth 是用於驗證 Route53 的組態。
欄位 | 描述 |
---|---|
kubernetes Route53KubernetesAuth | Kubernetes 使用 AssumeRoleWithWebIdentity,透過傳遞綁定的 ServiceAccount 權杖來驗證 Route53。 |
Route53KubernetesAuth
(出現於: Route53Auth)
Route53KubernetesAuth 是使用綁定的 Kubernetes ServiceAccount 權杖對 Route53 進行驗證的組態。
欄位 | 描述 |
---|---|
serviceAccountRef ServiceAccountRef | 對將用於請求綁定權杖(也稱為「投影權杖」)的服務帳戶的參考。若要使用此欄位,您必須設定 RBAC 規則,讓 cert-manager 請求權杖。 |
ServiceAccountRef
(出現於: Route53KubernetesAuth)
ServiceAccountRef 是 cert-manager 用於請求權杖的服務帳戶。權杖的到期時間也由 cert-manager 設定為 10 分鐘。
欄位 | 描述 |
---|---|
name 字串 | 用於請求權杖的 ServiceAccount 名稱。 |
audiences []string | (選用) TokenAudiences 是要包含在傳遞給 AWS 的權杖中的選用受眾清單。預設權杖由發行者的命名空間和名稱組成,始終會包含在內。如果未設定,則受眾預設為 |
State (string
別名)
(出現於: ACMEAuthorization、ChallengeStatus、OrderStatus)
State 代表 ACME 資源(例如 Order)的狀態。此處的可能選項對應於 ACME 規格中的相應值。這些值的完整詳細資訊可以在此處找到:https://tools.ietf.org/html/draft-ietf-acme-acme-15#section-7.1.6 使用此類型的用戶端也必須優雅地處理未知的值,因為此列舉的內容可能會隨著時間的推移而增加。
Value | 描述 |
---|---|
"errored" | Errored 表示 ACME 資源因某種原因而錯誤。這是一個包羅萬象的狀態,用於標記內部 cert-manager 錯誤,例如驗證失敗。這是一個最終狀態。 |
"expired" | Expired 表示 ACME 資源已過期。如果 Order 標記為「Expired」,則其驗證之一可能已過期或 Order 本身已過期。這是一個最終狀態。 |
"invalid" | Invalid 表示 ACME 資源因某種原因而無效。如果 Order 標記為「invalid」,則其驗證之一必須因某種原因而無效。這是一個最終狀態。 |
"pending" | Pending 表示 ACME 資源仍在擱置中,尚未準備就緒。如果 Order 標記為「Pending」,則該 Order 的驗證仍在進行中。這是一個暫時狀態。 |
"processing" | Processing 表示 ACME 資源正在由伺服器處理。如果 Order 標記為「Processing」,則該 Order 的驗證目前正在處理中。這是一個暫時狀態。 |
"ready" | Ready 表示 ACME 資源處於就緒狀態。如果訂單處於「ready」狀態,則其所有挑戰都已成功完成,並且訂單已準備好完成。一旦完成,它將轉換為有效狀態。這是一個暫時狀態。 |
"" | Unknown 不是 ACME 規格的一部分的真實狀態。它用於表示無法辨識的值。 |
"valid" | Valid 表示 ACME 資源處於有效狀態。如果訂單為「valid」,則已在 ACME 伺服器上完成,並且可以使用儲存在 Order 狀態子資源中的憑證 URL 從 ACME 伺服器檢索憑證。這是一個最終狀態。 |
cainjector.config.cert-manager.io/v1alpha1
套件 v1alpha1 是 cainjector 組態 API 的 v1alpha1 版本。
資源類型
CAInjectorConfiguration
欄位 | 描述 |
---|---|
kubeConfig 字串 | kubeConfig 是用於連線到 Kubernetes apiserver 的 kubeconfig 檔案。如果未指定,cainjector 將嘗試載入叢集內組態。 |
namespace 字串 | 如果設定,這會將 cainjector 的範圍限制為單一命名空間。如果設定,cainjector 將不會更新已設定命名空間之外的憑證資源。 |
leaderElectionConfig github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.LeaderElectionConfig | LeaderElectionConfig 設定領導者選舉的行為 |
enableDataSourceConfig EnableDataSourceConfig | EnableDataSourceConfig 決定 cainjector 的控制迴路是否會將 cert-manager 資源視為 CA 資料的潛在來源。 |
enableInjectableConfig EnableInjectableConfig | EnableInjectableConfig 決定 cainjector 的控制迴路是否會將 cert-manager 資源視為 CA 資料注入的潛在目標。 |
enablePprof 布林值 | 為 cainjector 啟用效能分析。 |
pprofAddress 字串 | Go 效能分析器應接聽的主機和連接埠,例如 localhost:6060。確保效能分析器未暴露在公用位址上。效能分析器將在 /debug/pprof 上提供服務。 |
logging k8s.io/component-base/logs/api/v1.LoggingConfiguration | logging 設定 cainjector 的記錄行為。 https://pkg.go.dev/k8s.io/component-base@v0.27.3/logs/api/v1#LoggingConfiguration |
featureGates map[string]bool | (選用) featureGates 是功能名稱對布林值的對應,用於啟用或停用實驗性功能。 |
metricsListenAddress 字串 | 度量端點應接聽的主機和連接埠。值「0」會停用度量伺服器。預設為「0.0.0.0:9402」。 |
metricsTLSConfig github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.TLSConfig | metricsTLSConfig 用於設定度量伺服器的 TLS 設定。 |
EnableDataSourceConfig
(出現於: CAInjectorConfiguration)
欄位 | 描述 |
---|---|
certificates 布林值 | Certificates 決定 cainjector 的控制迴路是否會將 cert-manager Certificate 資源視為 CA 資料的潛在來源。如果未設定,則預設為 true。 |
EnableInjectableConfig
(出現於: CAInjectorConfiguration)
欄位 | 描述 |
---|---|
validatingWebhookConfigurations 布林值 | ValidatingWebhookConfigurations 決定 cainjector 是否會啟動控制迴路,以將 CA 資料注入到註釋的 ValidatingWebhookConfigurations。如果未設定,則預設為 true。 |
mutatingWebhookConfigurations 布林值 | MutatingWebhookConfigurations 決定 cainjector 是否會啟動控制迴路,以將 CA 資料注入到註釋的 MutatingWebhookConfigurations。如果未設定,則預設為 true。 |
customResourceDefinitions 布林值 | CustomResourceDefinitions 決定 cainjector 是否會啟動控制迴路,以將 CA 資料注入到註釋的 CustomResourceDefinitions。如果未設定,則預設為 true。 |
apiServices 布林值 | APIServices 決定 cainjector 是否會啟動控制迴路,以將 CA 資料注入到註釋的 APIServices。如果未設定,則預設為 true。 |
cert-manager.io/v1
套件 v1 是 API 的 v1 版本。
資源類型
憑證
應該建立 Certificate 資源,以確保在 spec.secretName
中命名的 Kubernetes Secret 資源中儲存最新的簽署 X.509 憑證。
儲存的憑證會在到期之前續約(如 spec.renewBefore
所設定)。
欄位 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion 字串 | cert-manager.io/v1 | ||||||||||||||||||||||||||||||||||||||||||||
種類 字串 | 憑證 | ||||||||||||||||||||||||||||||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | (選用) 標準物件的中繼資料。更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 請參閱 Kubernetes API 文件,了解metadata 欄位的欄位。 | ||||||||||||||||||||||||||||||||||||||||||||
spec CertificateSpec | (選用) Certificate 資源所需狀態的規格。https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
| ||||||||||||||||||||||||||||||||||||||||||||
status CertificateStatus | (選用) 憑證的狀態。這是自動設定和管理的。唯讀。更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
憑證請求
CertificateRequest 用於向設定的簽發者之一請求簽署的憑證。
CertificateRequest 的 spec
內的所有欄位在建立後都是不可變的。CertificateRequest 將會成功或失敗,如其 Ready
狀態條件和其 status.failureTime
欄位所示。
CertificateRequest 是一個一次性資源,表示對憑證的單一時間點請求,且無法重複使用。
欄位 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion 字串 | cert-manager.io/v1 | ||||||||||||||||||
種類 字串 | 憑證請求 | ||||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | (選用) 標準物件的中繼資料。更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 請參閱 Kubernetes API 文件,了解metadata 欄位的欄位。 | ||||||||||||||||||
spec CertificateRequestSpec | (選用) CertificateRequest 資源所需狀態的規格。https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
| ||||||||||||||||||
status CertificateRequestStatus | (選用) CertificateRequest 的狀態。此為自動設定和管理的。唯讀。更多資訊:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
ClusterIssuer
ClusterIssuer 代表一個憑證發行授權單位,可以在 issuerRef
欄位中被引用。它類似於 Issuer,但它是叢集範圍的,因此可以被存在於任何命名空間中的資源引用,而不僅限於與參照者相同的命名空間。
欄位 | 描述 | ||
---|---|---|---|
apiVersion 字串 | cert-manager.io/v1 | ||
種類 字串 | ClusterIssuer | ||
metadata Kubernetes meta/v1.ObjectMeta | 請參閱 Kubernetes API 文件,了解 | ||
spec IssuerSpec | ClusterIssuer 資源的期望狀態。
| ||
status IssuerStatus | (選用) ClusterIssuer 的狀態。此為自動設定和管理的。 |
簽發者
Issuer 代表一個憑證發行授權單位,可以在 issuerRef
欄位中被引用。它的範圍限定於單一命名空間,因此只能被同一命名空間內的資源引用。
欄位 | 描述 | ||
---|---|---|---|
apiVersion 字串 | cert-manager.io/v1 | ||
種類 字串 | 簽發者 | ||
metadata Kubernetes meta/v1.ObjectMeta | 請參閱 Kubernetes API 文件,了解 | ||
spec IssuerSpec | Issuer 資源的期望狀態。
| ||
status IssuerStatus | (選用) Issuer 的狀態。此為自動設定和管理的。 |
CAIssuer
(出現於: IssuerConfig)
欄位 | 描述 |
---|---|
secretName 字串 | SecretName 是用於簽署由此 Issuer 發行的憑證的 secret 名稱。 |
crlDistributionPoints []string | (選用) CRL 分發點是一個 X.509 v3 憑證擴展,用於識別可以檢查此憑證撤銷狀態的 CRL 位置。如果未設定,則發行的憑證將不包含分發點。 |
ocspServers []string | (選用) OCSP 伺服器列表是一個 X.509 v3 擴展,定義了 OCSP 回應器的 URL 列表。可以查詢 OCSP 回應器以了解已發行憑證的撤銷狀態。如果未設定,則發行的憑證將不包含 OCSP 伺服器設定。例如,OCSP 伺服器 URL 可以是 “http://ocsp.int-x3.letsencrypt.org”。 |
issuingCertificateURLs []string | (選用) IssuingCertificateURLs 是此發行者應嵌入到其建立的憑證中的 URL 列表。詳情請參閱 https://www.rfc-editor.org/rfc/rfc5280#section-4.2.2.1。例如,這樣的 URL 可能是 “http://ca.domain.com/ca.crt”。 |
CertificateAdditionalOutputFormat
(出現於:CertificateSpec)
CertificateAdditionalOutputFormat 定義了 Certificate 資源的額外輸出格式。這些格式包含簽署的憑證鏈和配對的私鑰的補充資料格式。
欄位 | 描述 |
---|---|
type CertificateOutputFormatType | Type 是應寫入 Certificate 目標 Secret 的格式類型名稱。 |
CertificateCondition
(出現於:CertificateStatus)
CertificateCondition 包含 Certificate 的條件資訊。
欄位 | 描述 |
---|---|
type CertificateConditionType | 條件的類型,已知值為( |
status ConditionStatus | 條件的狀態,為 ( |
lastTransitionTime Kubernetes meta/v1.Time | (選用) LastTransitionTime 是此條件最後狀態變更的時間戳記。 |
reason 字串 | (選用) Reason 是此條件上次轉換的簡短機器可讀說明。 |
message 字串 | (選用) Message 是對上次轉換詳細資訊的人類可讀描述,補充 Reason。 |
observedGeneration int64 | (選用) 如果設定,這表示設定條件時所依據的 .metadata.generation。例如,如果 .metadata.generation 目前為 12,但 .status.condition[x].observedGeneration 為 9,則該條件與 Certificate 的目前狀態不一致。 |
CertificateConditionType (string
別名)
(出現於:CertificateCondition)
CertificateConditionType 代表 Certificate 條件值。
Value | 描述 |
---|---|
"Issuing" | 當需要發行憑證時,會將條件新增至 Certificate 資源。如果符合以下條件,此條件將會自動新增並設定為 true:* 目標 Secret 中不存在金鑰對資料 * 無法解碼 Secret 中儲存的資料 * 私鑰和憑證沒有相符的公鑰 * 如果目前修訂版本的 CertificateRequest 存在,且 Secret 中儲存的憑證資料與 CertificateRequest 上的 在完成發行後,「發行中」控制器會移除此條件。 |
"Ready" | CertificateConditionReady 表示憑證已可使用。其定義如下:- 目標 secret 存在 - 目標 secret 包含未過期的憑證 - 目標 secret 包含適用於該憑證的私鑰 - commonName 和 dnsNames 屬性與 Certificate 上指定的屬性相符 |
CertificateKeystores
(出現於:CertificateSpec)
CertificateKeystores 設定要在 Certificate 的輸出 Secret 中建立的其他金鑰儲存輸出格式。
欄位 | 描述 |
---|---|
jks JKSKeystore | (選用) JKS 設定在 |
pkcs12 PKCS12Keystore | (選用) PKCS12 設定在 |
CertificateOutputFormatType (string
別名)
(出現於:CertificateAdditionalOutputFormat)
CertificateOutputFormatType 指定應將哪些額外輸出格式寫入 Certificate 的目標 Secret。允許的值為 DER
或 CombinedPEM
。當 Type 設定為 DER
時,將會把包含私鑰二進位格式的額外項目 key.der
寫入 Secret。當 Type 設定為 CombinedPEM
時,將會把包含 PEM 格式的私鑰和已簽署憑證鏈(tls.key + tls.crt 串連)的額外項目 tls-combined.pem
寫入 Secret。
Value | 描述 |
---|---|
"CombinedPEM" | CertificateOutputFormatCombinedPEM 將 Certificate 的已簽署憑證鏈和私鑰以 PEM 格式寫入 |
"DER" | CertificateOutputFormatDER 將 Certificate 的私鑰以 DER 二進位格式寫入 |
CertificatePrivateKey
(出現於:CertificateSpec)
CertificatePrivateKey 包含 Certificate 控制器使用的私鑰設定選項。這些選項包括金鑰演算法和大小、使用的編碼以及輪換策略。
欄位 | 描述 |
---|---|
rotationPolicy PrivateKeyRotationPolicy | (選用) RotationPolicy 控制在處理重新發行時應如何重新產生私鑰。 如果設定為 |
encoding PrivateKeyEncoding | (選用) 此憑證私鑰要編碼成的私鑰密碼學標準 (PKCS) 編碼。 如果提供,允許的值為 |
algorithm PrivateKeyAlgorithm | (選用) Algorithm 是此憑證對應私鑰的私鑰演算法。 如果提供,允許的值為 |
size int | (選用) Size 是此憑證對應私鑰的金鑰位元大小。 如果 |
CertificateRequestCondition
(出現於:CertificateRequestStatus)
CertificateRequestCondition 包含 CertificateRequest 的條件資訊。
欄位 | 描述 |
---|---|
type CertificateRequestConditionType | 條件的類型,已知值為( |
status ConditionStatus | 條件的狀態,為 ( |
lastTransitionTime Kubernetes meta/v1.Time | (選用) LastTransitionTime 是此條件最後狀態變更的時間戳記。 |
reason 字串 | (選用) Reason 是此條件上次轉換的簡短機器可讀說明。 |
message 字串 | (選用) Message 是對上次轉換詳細資訊的人類可讀描述,補充 Reason。 |
CertificateRequestConditionType (string
別名)
(出現於:CertificateRequestCondition)
CertificateRequestConditionType 代表 Certificate 條件值。
Value | 描述 |
---|---|
"Approved" | CertificateRequestConditionApproved 表示憑證請求已核准並準備好簽署。條件的狀態絕不能為 |
"Denied" | CertificateRequestConditionDenied 表示憑證請求已遭拒絕,且絕不能簽署。條件的狀態絕不能為 |
"InvalidRequest" | CertificateRequestConditionInvalidRequest 表示憑證簽署者拒絕簽署請求,原因至少有一個輸入參數無效。有關請求為何遭拒絕的更多資訊,可以在 |
"Ready" | CertificateRequestConditionReady 表示憑證已可使用。其定義如下:- 目標憑證存在於 CertificateRequest.Status 中 |
CertificateRequestSpec
(出現於:CertificateRequest)
CertificateRequestSpec 定義了 CertificateRequest 的期望狀態
注意:務必注意,發行者可以選擇忽略或變更任何要求的屬性。發行者如何將憑證請求對應到已簽署的憑證完全是發行者本身的責任。例如,在邊緣情況下,反轉 isCA 值的發行者可以自由地這麼做。
欄位 | 描述 |
---|---|
duration Kubernetes meta/v1.Duration | (選用) 請求的憑證「持續時間」(即生命週期)。請注意,簽發者可能會選擇忽略請求的持續時間,就像任何其他請求的屬性一樣。 |
issuerRef ObjectReference | 引用負責簽發憑證的簽發者。如果簽發者是命名空間範圍的,則它必須與憑證位於相同的命名空間中。如果簽發者是叢集範圍的,則可以從任何命名空間使用它。 參考的 |
request []byte | 要提交給簽發者簽署的 PEM 編碼 X.509 憑證簽署請求。 如果 CSR 具有 BasicConstraints 擴展,則其 isCA 屬性必須與此 CertificateRequest 的 |
isCA 布林值 | (選用) 請求的基本約束 isCA 值。請注意,簽發者可能會選擇忽略請求的 isCA 值,就像任何其他請求的屬性一樣。 注意:如果 如果為 true,這會自動將 |
usages []KeyUsage | (選用) 請求的金鑰用法和擴展金鑰用法。 注意:如果 如果未設定,則預設為 |
username 字串 | (選用) Username 包含建立 CertificateRequest 的使用者名稱。由 cert-manager webhook 在建立時填充且不可變。 |
uid 字串 | (選用) UID 包含建立 CertificateRequest 的使用者的 uid。由 cert-manager webhook 在建立時填充且不可變。 |
groups []string | (選用) Groups 包含建立 CertificateRequest 的使用者的群組成員資格。由 cert-manager webhook 在建立時填充且不可變。 |
extra map[string][]string | (選用) Extra 包含建立 CertificateRequest 的使用者的額外屬性。由 cert-manager webhook 在建立時填入,且為不可變的。 |
CertificateRequestStatus
(出現於:CertificateRequest)
CertificateRequestStatus 定義了 CertificateRequest 的觀察狀態和產生的已簽署憑證。
欄位 | 描述 |
---|---|
conditions []CertificateRequestCondition | (選用) 用於指示 CertificateRequest 狀態的狀態條件列表。已知條件類型為 |
certificate []byte | (選用) 由憑證簽署請求產生的 PEM 編碼 X.509 憑證。如果未設定,則表示 CertificateRequest 要不是尚未完成,就是已失敗。關於失敗的更多資訊,請檢查 |
ca []byte | (選用) 簽署者的 PEM 編碼 X.509 憑證,也稱為 CA(憑證授權單位)。不同的簽發者會盡力設定此值。如果未設定,則假定 CA 為未知或不可用。 |
failureTime Kubernetes meta/v1.Time | (選用) FailureTime 儲存此 CertificateRequest 失敗的時間。此時間用於影響垃圾收集和退避。 |
CertificateSecretTemplate
(出現於:CertificateSpec)
CertificateSecretTemplate 定義要複製到 CertificateSpec.secretName
中指定的 Kubernetes Secret 資源的預設標籤和註釋。
欄位 | 描述 |
---|---|
annotations map[string]string | (選用) Annotations 是一個鍵值對應表,會複製到目標 Kubernetes Secret。 |
labels map[string]string | (選用) Labels 是一個鍵值對應表,會複製到目標 Kubernetes Secret。 |
CertificateSpec
(出現於: Certificate)
CertificateSpec 定義 Certificate 的期望狀態。
注意:規格包含許多「請求的」憑證屬性,請務必注意簽發者可以選擇忽略或變更任何這些請求的屬性。簽發者如何將憑證請求對應到已簽署的憑證完全由簽發者自行負責。例如,在極端情況下,反轉 isCA 值的簽發者可以自由地這樣做。
有效的 Certificate 至少需要一個 CommonName、LiteralSubject、DNSName 或 URI 才能有效。
欄位 | 描述 |
---|---|
subject X509Subject | (選用) 要求的 X509 憑證主體屬性集合。更多資訊:https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6 通用名稱屬性在 |
literalSubject 字串 | (選用) 請求的 X.509 憑證主體,使用 LDAP「識別名稱的字串表示法」[1] 表示。重要:LDAP 字串格式也指定了主體中屬性的順序,這在為 LDAP 身份驗證頒發憑證時非常重要。範例: 如果已設定 |
commonName 字串 | (選用) 請求的 X509 憑證主體屬性通用名稱。更多資訊:https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6 注意:當設定任何主體別名時,TLS 用戶端會忽略此值(請參閱https://tools.ietf.org/html/rfc6125#section-6.4.4)。 長度應為 64 個字元或更少,以避免產生無效的 CSR。如果已設定 |
duration Kubernetes meta/v1.Duration | (選用) 請求的憑證「持續時間」(即生命週期)。請注意,簽發者可能會選擇忽略請求的持續時間,就像任何其他請求的屬性一樣。 如果未設定,則預設為 90 天。接受的最短持續時間為 1 小時。值必須是 Go time.ParseDuration 接受的單位 https://go.dev.org.tw/pkg/time/#ParseDuration。 |
renewBefore Kubernetes meta/v1.Duration | (選用) 在目前頒發的憑證到期之前多久,cert-manager 應該更新憑證。例如,如果憑證的有效時間為 60 分鐘,且 注意:實際頒發的憑證生命週期會用來決定更新時間。如果簽發者傳回的憑證生命週期與請求的不同,則 cert-manager 將使用頒發憑證的生命週期。 如果未設定,則預設為頒發憑證生命週期的 1⁄3。接受的最小值為 5 分鐘。值必須是 Go time.ParseDuration 接受的單位 https://go.dev.org.tw/pkg/time/#ParseDuration。如果已設定 |
renewBeforePercentage int32 | (選用) 注意:實際頒發的憑證生命週期會用來決定更新時間。如果簽發者傳回的憑證生命週期與請求的不同,則 cert-manager 將使用頒發憑證的生命週期。 值必須是介於 (0,100) 之間的整數。從 |
dnsNames []string | (選用) 請求的 DNS 主體別名。 |
ipAddresses []string | (選用) 請求的 IP 位址主體別名。 |
uris []string | (選用) 請求的 URI 主體別名。 |
otherNames []OtherName | (選用) |
emailAddresses []string | (選用) 請求的電子郵件主體別名。 |
secretName 字串 | 將由此憑證資源自動建立和管理的 Secret 資源名稱。它將使用私鑰和憑證填充,並由指定的簽發者簽署。Secret 資源與憑證資源位於相同的命名空間中。 |
secretTemplate CertificateSecretTemplate | (選用) 定義要複製到憑證 Secret 的註解和標籤。當新增或移除時,Secret 上的標籤和註解將會隨著它們在 SecretTemplate 上的出現而改變。SecretTemplate 註解會與 cert-manager 在憑證 Secret 上設定的基本註解集一起新增,且無法覆寫該基本註解集。 |
keystores CertificateKeystores | (選用) 要儲存在憑證 Secret 中的其他金鑰儲存輸出格式。 |
issuerRef ObjectReference | 引用負責簽發憑證的簽發者。如果簽發者是命名空間範圍的,則它必須與憑證位於相同的命名空間中。如果簽發者是叢集範圍的,則可以從任何命名空間使用它。 參考的 |
isCA 布林值 | (選用) 請求的基本約束 isCA 值。isCA 值用於在建立的 CertificateRequest 資源上設定 如果為 true,這會自動將 |
usages []KeyUsage | (選用) 請求的金鑰用法和擴展金鑰用法。這些用法用於在建立的 CertificateRequest 資源上設定 如果未設定,則預設為 |
privateKey CertificatePrivateKey | (選用) 私鑰選項。這些選項包括金鑰演算法和大小、使用的編碼以及輪換策略。 |
encodeUsagesInRequest 布林值 | (選用) 是否應在編碼的 CSR 中設定 KeyUsage 和 ExtKeyUsage 擴展。 此選項預設為 true,只有在目標簽發者不支援具有這些 X509 KeyUsage/ExtKeyUsage 擴展的 CSR 時才應停用。 |
revisionHistoryLimit int32 | (選用) 憑證歷史中維護的 CertificateRequest 修訂版本最大數量。每個修訂版本都代表此憑證建立的單一 如果設定,revisionHistoryLimit 必須是 |
additionalOutputFormats []CertificateAdditionalOutputFormat | (選用) 定義要寫入此憑證目標 Secret 的私鑰和簽署憑證鏈的其他輸出格式。 這是一個預設啟用的 Beta 功能。可以使用在控制器和 webhook 元件上設定的 |
nameConstraints NameConstraints | (選用) x.509 憑證 NameConstraint 擴展,不得在非 CA 憑證中使用。更多資訊:https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 這是一個 Alpha 功能,僅當在控制器和 webhook 元件上設定 |
CertificateStatus
(出現於: Certificate)
CertificateStatus 定義 Certificate 的觀察狀態
欄位 | 描述 |
---|---|
conditions []CertificateCondition | (選用) 狀態條件列表,用於指示憑證的狀態。已知的條件類型為 |
lastFailureTime Kubernetes meta/v1.Time | (選用) LastFailureTime 僅在本次 Certificate 的最新簽發失敗時設定,並包含失敗的時間。如果簽發失敗,則到下一次簽發的延遲將使用公式 time.Hour * 2 ^ (failedIssuanceAttempts - 1) 計算。如果最新的簽發成功,則此欄位將會取消設定。 |
notBefore Kubernetes meta/v1.Time | (選用) 此資源在 |
notAfter Kubernetes meta/v1.Time | (選用) 此資源在 |
renewalTime Kubernetes meta/v1.Time | (選用) RenewalTime 是下次將續訂憑證的時間。如果未設定,則不會排程任何即將進行的續訂。 |
revision int | (選用) 已簽發憑證的目前「修訂版本」。 當建立 CertificateRequest 資源時,它的 簽發後,此欄位將設定為用於簽發憑證的 CertificateRequest 資源上的註釋值。 將值保留在 CertificateRequest 資源上,可以讓憑證控制器藉由檢查註釋中的修訂值是否大於此欄位,來知道請求是舊簽發的一部分還是正在進行的修訂簽發的一部分。 |
nextPrivateKeySecretName 字串 | (選用) 包含將用於下一次憑證迭代的私鑰的 Secret 資源名稱。如果 |
failedIssuanceAttempts int | (選用) 到目前為止,連續失敗的簽發嘗試次數。此欄位會在簽發成功時移除(如果已設定),並且如果未設定且簽發失敗,則會設定為 1。如果簽發失敗,則到下一次簽發的延遲將使用公式 time.Hour * 2 ^ (failedIssuanceAttempts - 1) 計算。 |
GenericIssuer
IssuerCondition
(顯示於: IssuerStatus)
IssuerCondition 包含 Issuer 的條件資訊。
欄位 | 描述 |
---|---|
type IssuerConditionType | 條件類型,已知的值為 ( |
status ConditionStatus | 條件的狀態,為 ( |
lastTransitionTime Kubernetes meta/v1.Time | (選用) LastTransitionTime 是此條件最後狀態變更的時間戳記。 |
reason 字串 | (選用) Reason 是此條件上次轉換的簡短機器可讀說明。 |
message 字串 | (選用) Message 是對上次轉換詳細資訊的人類可讀描述,補充 Reason。 |
observedGeneration int64 | (選用) 如果已設定,則表示設定條件所依據的 .metadata.generation。例如,如果 .metadata.generation 目前為 12,但 .status.condition[x].observedGeneration 為 9,則條件與 Issuer 的目前狀態不符。 |
IssuerConditionType (string
別名)
(出現於: IssuerCondition)
IssuerConditionType 代表 Issuer 條件值。
Value | 描述 |
---|---|
"Ready" | IssuerConditionReady 代表給定的 Issuer 條件處於就緒狀態並且能夠簽發憑證的事實。如果此條件的 |
IssuerConfig
(出現於: IssuerSpec)
簽發者的組態。只能設定其中一個。
欄位 | 描述 |
---|---|
acme ACMEIssuer | (選用) ACME 設定此簽發者與 RFC8555 (ACME) 伺服器通訊以取得已簽署的 x509 憑證。 |
ca CAIssuer | (選用) CA 設定此簽發者使用儲存在 Secret 資源中的簽署 CA 金鑰對來簽署憑證。這用於建立由 cert-manager 管理的內部 PKI。 |
vault VaultIssuer | (選用) Vault 設定此簽發者使用 HashiCorp Vault PKI 後端來簽署憑證。 |
selfSigned SelfSignedIssuer | (選用) SelfSigned 設定此簽發者使用用於建立 CertificateRequest 物件的私鑰來「自行簽署」憑證。 |
venafi VenafiIssuer | (選用) Venafi 設定此簽發者使用 Venafi TPP 或 Venafi Cloud 原則區域來簽署憑證。 |
IssuerSpec
(出現於: ClusterIssuer, Issuer)
IssuerSpec 是 Issuer 的規格。這包含簽發者所需的任何組態。
欄位 | 描述 |
---|---|
IssuerConfig IssuerConfig | ( |
IssuerStatus
(出現於: ClusterIssuer, Issuer)
IssuerStatus 包含關於 Issuer 的狀態資訊
欄位 | 描述 |
---|---|
conditions []IssuerCondition | (選用) 狀態條件列表,用於指示 CertificateRequest 的狀態。已知的條件類型為 |
acme ACMEIssuerStatus | (選用) ACME 特定狀態選項。僅當 Issuer 組態為使用 ACME 伺服器簽發憑證時,才應設定此欄位。 |
JKSKeystore
(出現於: CertificateKeystores)
JKS 設定在 spec.secretName
Secret 資源中儲存 JKS 金鑰儲存的選項。
欄位 | 描述 |
---|---|
create 布林值 | Create 啟用 Certificate 的 JKS 金鑰儲存區建立。如果為 true,則會在目標 Secret 資源中建立名為 |
passwordSecretRef SecretKeySelector | PasswordSecretRef 是對 Secret 資源中包含用於加密 JKS 金鑰儲存區之密碼的金鑰的參考。 |
alias 字串 | (選用) Alias 指定金鑰儲存區中金鑰的別名,JKS 格式需要此別名。如果未提供,則會使用預設別名 |
KeyUsage (string
別名)
(出現於: CertificateRequestSpec, CertificateSpec)
KeyUsage 指定金鑰的有效使用內容。請參閱: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12
有效的 KeyUsage 值如下:「signing」、「digital signature」、「content commitment」、「key encipherment」、「key agreement」、「data encipherment」、「cert sign」、「crl sign」、「encipher only」、「decipher only」、「any」、「server auth」、「client auth」、「code signing」、「email protection」、「s/mime」、「ipsec end system」、「ipsec tunnel」、「ipsec user」、「timestamping」、「ocsp signing」、「microsoft sgc」、「netscape sgc」
Value | 描述 |
---|---|
"any" | |
"crl sign" | |
"cert sign" | |
"client auth" | |
"code signing" | |
"content commitment" | |
"data encipherment" | |
"decipher only" | |
"digital signature" | |
"email protection" | |
"encipher only" | |
"ipsec end system" | |
"ipsec tunnel" | |
"ipsec user" | |
"key agreement" | |
"key encipherment" | |
"microsoft sgc" | |
"netscape sgc" | |
"ocsp signing" | |
"s/mime" | |
"server auth" | |
"signing" | |
"timestamping" |
NameConstraintItem
(出現於: NameConstraints)
欄位 | 描述 |
---|---|
dnsDomains []string | (選用) DNSDomains 是允許或排除的 DNS 網域列表。 |
ipRanges []string | (選用) IPRanges 是允許或排除的 IP 範圍列表。這應該是有效的 CIDR 表示法。 |
emailAddresses []string | (選用) EmailAddresses 是允許或排除的電子郵件地址列表。 |
uriDomains []string | (選用) URIDomains 是允許或排除的 URI 網域列表。 |
NameConstraints
(出現於:CertificateSpec)
NameConstraints 是一種表示 x509 NameConstraints 的類型
欄位 | 描述 |
---|---|
critical 布林值 | (選用) 如果為 true,則名稱限制會標記為關鍵。 |
permitted NameConstraintItem | (選用) Permitted 包含名稱必須所在的限制。 |
excluded NameConstraintItem | (選用) Excluded 包含必須不允許的限制。無論允許的欄位中出現什麼資訊,任何符合排除欄位中限制的名稱均為無效 |
OtherName
(出現於:CertificateSpec)
欄位 | 描述 |
---|---|
oid 字串 | OID 是 otherName SAN 的物件識別碼。物件識別碼必須表示為點狀字串,例如「1.2.840.113556.1.4.221」。 |
utf8Value 字串 | utf8Value 是 otherName SAN 的字串值。utf8Value 接受任何有效的 UTF8 字串設定為 otherName SAN 的值。 |
PKCS12Keystore
(出現於: CertificateKeystores)
PKCS12 設定在 spec.secretName
Secret 資源中儲存 PKCS12 金鑰儲存的選項。
欄位 | 描述 |
---|---|
create 布林值 | Create 啟用 Certificate 的 PKCS12 金鑰儲存區建立。如果為 true,則會在目標 Secret 資源中建立名為 |
passwordSecretRef SecretKeySelector | PasswordSecretRef 是對 Secret 資源中包含用於加密 PKCS12 金鑰儲存區之密碼的金鑰的參考。 |
profile PKCS12Profile | (選用) Profile 指定金鑰和憑證加密演算法以及用於建立 PKCS12 金鑰儲存區的 HMAC 演算法。預設值為 如果提供,則允許的值為: |
PKCS12Profile (string
別名)
(出現於: PKCS12Keystore)
Value | 描述 |
---|---|
"LegacyDES" | 請參閱: https://pkg.go.dev/software.sslmate.com/src/go-pkcs12#LegacyDES |
"LegacyRC2" | 請參閱: https://pkg.go.dev/software.sslmate.com/src/go-pkcs12#LegacyRC2 |
"Modern2023" | 請參閱: https://pkg.go.dev/software.sslmate.com/src/go-pkcs12#Modern2023 |
PrivateKeyAlgorithm (string
別名)
(出現於: CertificatePrivateKey)
Value | 描述 |
---|---|
"ECDSA" | ECDSA 私鑰演算法。 |
"Ed25519" | Ed25519 私鑰演算法。 |
"RSA" | RSA 私鑰演算法。 |
PrivateKeyEncoding (string
別名)
(出現於: CertificatePrivateKey)
Value | 描述 |
---|---|
"PKCS1" | PKCS1 私鑰編碼。PKCS1 會產生一個 PEM 區塊,其中標頭包含私鑰演算法,而主體包含私鑰。使用此編碼的金鑰可以透過其 |
"PKCS8" | PKCS8 私鑰編碼。PKCS8 會產生一個 PEM 區塊,其中具有靜態標頭,且主體同時包含私鑰演算法和私鑰。使用此編碼的金鑰可以透過其 |
PrivateKeyRotationPolicy (string
別名)
(出現於: CertificatePrivateKey)
表示在頒發憑證時應如何產生或取得私鑰。
SelfSignedIssuer
(出現於: IssuerConfig)
設定簽發者使用用於建立 CertificateRequest 物件的私鑰來「自行簽署」憑證。
欄位 | 描述 |
---|---|
crlDistributionPoints []string | (選用) CRL 分發點是一個 X.509 v3 憑證擴充功能,可識別可檢查此憑證撤銷狀況的 CRL 位置。如果未設定,則將會發出不帶 CDP 的憑證。值為字串。 |
ServiceAccountRef
(出現於: VaultKubernetesAuth)
ServiceAccountRef 是 cert-manager 用於請求權杖的服務帳戶。預設的對象是由 cert-manager 產生,對於簽發者會採用 vault://namespace-name/issuer-name
格式,對於 ClusterIssuer 會採用 vault://issuer-name
格式。權杖的到期時間也由 cert-manager 設定為 10 分鐘。
欄位 | 描述 |
---|---|
name 字串 | 用於請求權杖的 ServiceAccount 名稱。 |
audiences []string | (選用) TokenAudiences 是要包含在傳遞給 Vault 的權杖中的額外對象的可選清單。一律會包含由簽發者的命名空間和名稱組成的預設權杖。 |
VaultAppRole
(出現於: VaultAuth)
VaultAppRole 使用 App Role 驗證機制,透過儲存在 Kubernetes Secret 資源中的角色和密碼向 Vault 進行驗證。
欄位 | 描述 |
---|---|
path 字串 | App Role 驗證後端在 Vault 中掛載的路徑,例如:「approle」 |
roleId 字串 | 在 Vault 中設定驗證後端時,於 App Role 驗證後端中設定的 RoleID。 |
secretRef SecretKeySelector | 對 Secret 中一個金鑰的參考,其中包含用於向 Vault 進行驗證的 App Role 密碼。必須指定 |
VaultAuth
(出現於: VaultIssuer)
VaultAuth 是用於向 Vault 伺服器進行驗證的組態。優先順序順序為 [tokenSecretRef
、appRole
、clientCertificate
或 kubernetes
]。
欄位 | 描述 |
---|---|
tokenSecretRef SecretKeySelector | (選用) TokenSecretRef 會透過呈現權杖向 Vault 進行驗證。 |
appRole VaultAppRole | (選用) AppRole 使用 App Role 驗證機制,透過儲存在 Kubernetes Secret 資源中的角色和密碼向 Vault 進行驗證。 |
clientCertificate VaultClientCertificateAuth | (選用) ClientCertificate 會在請求的 TLS 交握期間呈現用戶端憑證來向 Vault 進行驗證。僅在使用 HTTPS 通訊協定時有效。 |
kubernetes VaultKubernetesAuth | (選用) Kubernetes 會透過將儲存在具名 Secret 資源中的 ServiceAccount 權杖傳遞至 Vault 伺服器來向 Vault 進行驗證。 |
VaultClientCertificateAuth
(出現於: VaultAuth)
VaultKubernetesAuth 用於使用儲存在 Secret 中的用戶端憑證向 Vault 進行驗證。
欄位 | 描述 |
---|---|
mountPath 字串 | (選用) 此處的 Vault 掛載路徑是在向 Vault 進行驗證時要使用的掛載路徑。例如,將值設定為 |
secretName 字串 | (選用) 參考類型為「kubernetes.io/tls」的 Kubernetes Secret(因此包含 tls.crt 和 tls.key),用於使用 TLS 用戶端驗證向 Vault 進行驗證。 |
name 字串 | (選用) 要驗證的憑證角色的名稱。如果未設定,則會比對任何可用的憑證角色。 |
VaultIssuer
(出現於: IssuerConfig)
設定簽發者使用 HashiCorp Vault PKI 後端來簽署憑證。
欄位 | 描述 |
---|---|
auth VaultAuth | Auth 設定 cert-manager 如何向 Vault 伺服器進行驗證。 |
server 字串 | Server 是 Vault 伺服器的連線位址,例如:「https://vault.example.com:8200」。 |
path 字串 | Path 是 Vault PKI 後端 |
namespace 字串 | (選用) Vault 命名空間的名稱。命名空間是 Vault Enterprise 中的一組功能,可讓 Vault 環境支援安全的多租戶。例如:「ns1」。如需關於命名空間的詳細資訊,請參閱 https://www.vaultproject.io/docs/enterprise/namespaces |
caBundle []byte | (選用) PEM CA 的 Base64 編碼套件,用於驗證 Vault 呈現的憑證鏈。僅在使用 HTTPS 連線至 Vault 時使用,並在 HTTP 連線時忽略。與 CABundleSecretRef 互斥。如果未定義 CABundle 和 CABundleSecretRef,則會使用 cert-manager 控制器容器中的憑證套件來驗證 TLS 連線。 |
caBundleSecretRef SecretKeySelector | (選用) 參考一個 Secret,其中包含在透過 HTTPS 時驗證 Vault 呈現的憑證鏈時要使用的 PEM 編碼 CA 套件。與 CABundle 互斥。如果未定義 CABundle 和 CABundleSecretRef,則會使用 cert-manager 控制器容器中的憑證套件來驗證 TLS 連線。如果未指定 Secret 的金鑰,cert-manager 將預設為「ca.crt」。 |
clientCertSecretRef SecretKeySelector | (選用) 參考一個 Secret,其中包含當 Vault 伺服器需要 mTLS 時要使用的 PEM 編碼用戶端憑證。 |
clientKeySecretRef SecretKeySelector | (選用) 參考一個 Secret,其中包含當 Vault 伺服器需要 mTLS 時要使用的 PEM 編碼用戶端私鑰。 |
VaultKubernetesAuth
(出現於: VaultAuth)
使用儲存在 Secret 中的 Kubernetes ServiceAccount 權杖向 Vault 進行驗證。
欄位 | 描述 |
---|---|
mountPath 字串 | (選用) 此處的 Vault 掛載路徑是在向 Vault 進行驗證時要使用的掛載路徑。例如,將值設定為 |
secretRef SecretKeySelector | (選用) 必要 Secret 欄位,其中包含用於向 Vault 進行驗證的 Kubernetes ServiceAccount JWT。不支援使用「環境認證」。 |
serviceAccountRef ServiceAccountRef | (選用) 參考將用於請求繫結權杖(也稱為「投射權杖」)的服務帳戶。與使用「secretRef」相比,使用此欄位表示您不依賴靜態繫結的權杖。若要使用此欄位,您必須設定 RBAC 規則,以允許 cert-manager 請求權杖。 |
role 字串 | 一個必要欄位,其中包含要假設的 Vault 角色。角色會將 Kubernetes ServiceAccount 與一組 Vault 原則繫結。 |
VenafiCloud
(出現於: VenafiIssuer)
VenafiCloud 定義 Venafi Cloud 的連線組態詳細資料
欄位 | 描述 |
---|---|
url 字串 | (選用) URL 是 Venafi Cloud 的基本 URL。預設為「https://api.venafi.cloud/v1」。 |
apiTokenSecretRef SecretKeySelector | APITokenSecretRef 是 Venafi Cloud API 權杖的密碼金鑰選取器。 |
VenafiIssuer
(出現於: IssuerConfig)
設定簽發者使用 Venafi TPP 或 Cloud 原則區域來簽署憑證。
欄位 | 描述 |
---|---|
zone 字串 | Zone 是要用於此簽發者的 Venafi 原則區域。對 Venafi 平台發出的所有請求都將受到具名區域原則的限制。此欄位為必要欄位。 |
tpp VenafiTPP | (選用) TPP 指定 Trust Protection Platform 組態設定。只能指定 TPP 或 Cloud 其中一個。 |
cloud VenafiCloud | (選用) Cloud 指定 Venafi Cloud 組態設定。只能指定 TPP 或 Cloud 其中一個。 |
VenafiTPP
(出現於: VenafiIssuer)
VenafiTPP 定義 Venafi TPP 執行個體的連線組態詳細資料
欄位 | 描述 |
---|---|
url 字串 | URL 是 Venafi TPP 執行個體的 vedsdk 端點的基本 URL,例如:「https://tpp.example.com/vedsdk」。 |
credentialsRef LocalObjectReference | CredentialsRef 是對包含 Venafi TPP API 認證的 Secret 的參考。Secret 必須包含「access-token」金鑰以進行存取權杖驗證,或包含兩個金鑰「username」和「password」以進行 API 金鑰驗證。 |
caBundle []byte | (選用) PEM CA 的 Base64 編碼套件,用於驗證 TPP 伺服器呈現的憑證鏈。僅在使用 HTTPS 時使用;在 HTTP 時忽略。如果未定義,則會使用 cert-manager 控制器容器中的憑證套件來驗證鏈。 |
caBundleSecretRef SecretKeySelector | (選用) 參考包含 PEM CA 的 Base64 編碼套件的 Secret,該套件將用於驗證 TPP 伺服器在使用 HTTPS 時呈現的憑證鏈。僅在使用 HTTPS 時使用;在 HTTP 時忽略。與 CABundle 互斥。如果未定義 CABundle 和 CABundleSecretRef,則會使用 cert-manager 控制器容器中的憑證套件來驗證 TLS 連線。 |
X509Subject
(出現於:CertificateSpec)
X509Subject 完整的 X509 名稱規格
欄位 | 描述 |
---|---|
organizations []string | (選用) 要在憑證上使用的組織。 |
countries []string | (選用) 要在憑證上使用的國家/地區。 |
organizationalUnits []string | (選用) 要在憑證上使用的組織單位。 |
localities []string | (選用) 要在憑證上使用的城市。 |
provinces []string | (選用) 要在憑證上使用的州/省。 |
streetAddresses []string | (選用) 要在憑證上使用的街道地址。 |
postalCodes []string | (選用) 要在憑證上使用的郵遞區號。 |
serialNumber 字串 | (選用) 要在憑證上使用的序號。 |
controller.config.cert-manager.io/v1alpha1
套件 v1alpha1 是控制器組態 API 的 v1alpha1 版本。
資源類型
ACMEDNS01Config
(出現於: ControllerConfiguration)
欄位 | 描述 |
---|---|
recursiveNameservers []string | 每個名稱伺服器可以是標準遞迴 DNS 伺服器的 IP 位址和連接埠,也可以是 RFC 8484 DNS over HTTPS 端點的端點。例如,下列值是有效的:- 「8.8.8.8:53」(標準 DNS)-「https://1.1.1.1/dns-query」(DNS over HTTPS) |
recursiveNameserversOnly 布林值 | 如果為 true,cert-manager 將只會查詢已設定的 DNS 解析器來執行 ACME DNS01 自我檢查。這在受 DNS 限制的環境中非常有用,其中對授權名稱伺服器的存取受到限制。啟用此選項可能會導致 DNS01 自我檢查由於遞迴名稱伺服器執行的快取而花費更長的時間。 |
checkRetryPeriod github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.Duration | 控制器應在傳播檢查之間等待的持續時間。儘管名稱如此,此旗標用於設定 DNS01 和 HTTP01 挑戰傳播檢查的等待時間。對於 DNS01 挑戰,傳播檢查會驗證是否已建立包含挑戰權杖的 TXT 記錄。對於 HTTP01 挑戰,傳播檢查會驗證挑戰權杖是否在挑戰 URL 中提供。這應該是有效的持續時間字串,例如 180 秒或 1 小時 |
ACMEHTTP01Config
(出現於: ControllerConfiguration)
欄位 | 描述 |
---|---|
solverImage 字串 | 用於解決 ACME HTTP01 挑戰的 Docker 映像。您很可能不需要變更此參數,除非您正在測試新功能或開發 cert-manager。 |
solverResourceRequestCPU 字串 | 定義在產生新的 ACME HTTP01 挑戰解決器 Pod 時的資源請求 CPU 大小。 |
solverResourceRequestMemory 字串 | 定義在產生新的 ACME HTTP01 挑戰解決器 Pod 時的資源請求記憶體大小。 |
solverResourceLimitsCPU 字串 | 定義在產生新的 ACME HTTP01 挑戰解決器 Pod 時的資源限制 CPU 大小。 |
solverResourceLimitsMemory 字串 | 定義在產生新的 ACME HTTP01 挑戰解決器 Pod 時的資源限制記憶體大小。 |
solverRunAsNonRoot 布林值 | 定義以 root 身分執行 http01 解決器以進行問題疑難排解的能力 |
solverNameservers []string | 用於 ACME HTTP01 檢查要求的逗號分隔 DNS 伺服器端點清單。這應該是一個包含主機和連接埠的清單,例如 ["8.8.8.8:53","8.8.4.4:53"]。允許指定用於執行 HTTP01 檢查的自訂名稱伺服器清單。 |
ControllerConfiguration
欄位 | 描述 |
---|---|
kubeConfig 字串 | kubeConfig 是用於連線至 Kubernetes API 伺服器的 kubeconfig 檔案。如果未指定,控制器將會嘗試載入叢集內組態。 |
apiServerHost 字串 | apiServerHost 用於覆寫 API 伺服器連線位址。已棄用:請改用 |
kubernetesAPIQPS float32 | 指示 Kubernetes apiserver 的最大每秒查詢請求數。TODO:不建議使用浮點數。或許我們應該使用 resource.Quantity? https://kubernetes.dev.org.tw/docs/reference/kubernetes-api/common-definitions/quantity/ |
kubernetesAPIBurst int32 | 傳送至 Kubernetes apiserver 的最大每秒突發查詢請求數 |
namespace 字串 | 如果設定此項,則 cert-manager 的作用範圍將限制在單一命名空間,且 ClusterIssuer 將被停用。如果未指定,將會監看所有命名空間 |
clusterResourceNamespace 字串 | 儲存叢集範圍資源(例如 ClusterIssuer)所擁有資源的命名空間。 |
leaderElectionConfig LeaderElectionConfig | LeaderElectionConfig 設定領導者選舉的行為 |
controllers []string | 要啟用的控制器列表。['*'] 啟用所有控制器,['foo'] 僅啟用 foo 控制器,['*', '-foo'] 停用名為 foo 的控制器。 |
issuerAmbientCredentials 布林值 | 發行者是否可以使用環境憑證。「環境憑證」是指從環境、中繼資料服務或未在 Issuer API 物件中明確設定的本機檔案中提取的憑證。啟用此標誌時,也會使用以下憑證來源:AWS - Go SDK 預設的所有來源,特別是包括任何可透過執行個體中繼資料取得的 EC2 IAM 角色。 |
clusterIssuerAmbientCredentials 布林值 | 叢集發行者是否可以使用環境憑證作為發行者。「環境憑證」是指從環境、中繼資料服務或未在 ClusterIssuer API 物件中明確設定的本機檔案中提取的憑證。啟用此標誌時,也會使用以下憑證來源:AWS - Go SDK 預設的所有來源,特別是包括任何可透過執行個體中繼資料取得的 EC2 IAM 角色。 |
enableCertificateOwnerRef 布林值 | 是否將憑證資源設定為儲存 TLS 憑證的 Secret 的擁有者。啟用此標誌時,刪除憑證資源時會自動移除 Secret。 |
enableGatewayAPI 布林值 | 是否在 cert-manager 中啟用 Gateway API 整合。還必須啟用 ExperimentalGatewayAPISupport 功能閘道(自 1.15 起為預設)。 |
copiedAnnotationPrefixes []string | 透過傳遞註解鍵前綴的清單,指定應/不應從 Certificate 複製到 CertificateRequest 和 Order 的註解,以及從 CertificateSigningRequest 複製到 Order 的註解。以破折號 (-) 開頭的前綴指定不應複製的註解。範例:'*-kubectl.kubernetes.io/' - 除了鍵以 'kubectl.kubernetes.io/' 為前綴的註解之外,將會複製所有註解。 |
numberOfConcurrentWorkers int32 | 每個控制器的並行工作者數量。 |
maxConcurrentChallenges int32 | 可以同時排程為「處理中」的最大挑戰數量。 |
metricsListenAddress 字串 | 度量端點應監聽的主機和連接埠。 |
metricsTLSConfig github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.TLSConfig | 度量端點的 TLS 設定 |
healthzListenAddress 字串 | healthz 伺服器應監聽的主機和連接埠位址,以「:」分隔。 |
enablePprof 布林值 | 啟用控制器的分析功能。 |
pprofAddress 字串 | Go 效能分析器應接聽的主機和連接埠,例如 localhost:6060。確保效能分析器未暴露在公用位址上。效能分析器將在 /debug/pprof 上提供服務。 |
logging k8s.io/component-base/logs/api/v1.LoggingConfiguration | logging 設定控制器的記錄行為。https://pkg.go.dev/k8s.io/component-base@v0.27.3/logs/api/v1#LoggingConfiguration |
featureGates map[string]bool | (選用) featureGates 是功能名稱對布林值的對應,用於啟用或停用實驗性功能。 |
ingressShimConfig IngressShimConfig | ingressShimConfig 設定 ingress-shim 控制器的行為 |
acmeHTTP01Config ACMEHTTP01Config | acmeHTTP01Config 設定 ACME HTTP01 挑戰解算器的行為 |
acmeDNS01Config ACMEDNS01Config | acmeDNS01Config 設定 ACME DNS01 挑戰解算器的行為 |
IngressShimConfig
(出現於: ControllerConfiguration)
欄位 | 描述 |
---|---|
defaultIssuerName 字串 | ingress-shim 使用的預設發行者/憑證詳細資料。當請求 TLS 但未在 ingress 資源上指定發行者名稱時要使用的發行者名稱。 |
defaultIssuerKind 字串 | 當請求 TLS 但未在 ingress 資源上指定發行者種類時要使用的發行者種類。 |
defaultIssuerGroup 字串 | 當請求 TLS 但未在 ingress 資源上指定發行者群組時要使用的發行者群組。 |
defaultAutoCertificateAnnotations []string | ingress-shim 控制器使用的註解,指示 ingress 正在請求憑證 |
LeaderElectionConfig
(出現於: ControllerConfiguration)
欄位 | 描述 |
---|---|
LeaderElectionConfig github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.LeaderElectionConfig | ( |
healthzTimeout github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.Duration | 租用過期後,在此逾時期間內的 Leader 選舉 healthz 檢查仍會回傳正常。 |
meta.cert-manager.io/v1
套件 v1 包含 cert-manager API 的中繼類型
資源類型
ConditionStatus (string
別名)
(出現在: CertificateCondition、CertificateRequestCondition、IssuerCondition)
ConditionStatus 代表條件的狀態。
Value | 描述 |
---|---|
"False" | ConditionFalse 代表給定條件為 false 的事實 |
"True" | ConditionTrue 代表給定條件為 true 的事實 |
"Unknown" | ConditionUnknown 代表給定條件為 unknown 的事實 |
LocalObjectReference
(出現在: VenafiTPP、SecretKeySelector)
參照與被參照者位於相同命名空間中的物件。如果被參照者是叢集範圍的資源(例如 ClusterIssuer),則參照會改為參照已設定的「叢集資源命名空間」中具有給定名稱的資源,該資源設定為控制器元件上的旗標(預設為 cert-manager 執行所在的命名空間)。
欄位 | 描述 |
---|---|
name 字串 | 被參照資源的名稱。更多資訊:https://kubernetes.dev.org.tw/docs/concepts/overview/working-with-objects/names/#names |
ObjectReference
(出現在: ChallengeSpec、OrderSpec、CertificateRequestSpec、CertificateSpec)
ObjectReference 參照具有給定名稱、種類和群組的物件。
欄位 | 描述 |
---|---|
name 字串 | 被參照資源的名稱。 |
種類 字串 | (選用) 被參照資源的種類。 |
group 字串 | (選用) 被參照資源的群組。 |
SecretKeySelector
(出現在: ACMEExternalAccountBinding、ACMEIssuer、ACMEIssuerDNS01ProviderAcmeDNS、ACMEIssuerDNS01ProviderAkamai、ACMEIssuerDNS01ProviderAzureDNS、ACMEIssuerDNS01ProviderCloudDNS、ACMEIssuerDNS01ProviderCloudflare、ACMEIssuerDNS01ProviderDigitalOcean、ACMEIssuerDNS01ProviderRFC2136、ACMEIssuerDNS01ProviderRoute53、JKSKeystore、PKCS12Keystore、VaultAppRole、VaultAuth、VaultIssuer、VaultKubernetesAuth、VenafiCloud、VenafiTPP)
參照 Secret 資源中特定「金鑰」。在某些情況下,key
是必填欄位。
欄位 | 描述 |
---|---|
LocalObjectReference LocalObjectReference | ( 被參照的 Secret 資源名稱。 |
key 字串 | (選用) 要使用的 Secret 資源 |
webhook.config.cert-manager.io/v1alpha1
套件 v1alpha1 是 webhook config API 的 v1alpha1 版本。
資源類型
WebhookConfiguration
欄位 | 描述 |
---|---|
securePort int32 | securePort 是用於監聽來自 kube-apiserver 的安全 TLS 連線的連接埠號碼。如果為 0,則會選擇隨機可用的連接埠。預設值為 6443。 |
healthzPort int32 | healthzPort 是用於監聽(使用純文字 HTTP)healthz 連線的連接埠號碼。如果為 0,則會選擇隨機可用的連接埠。預設值為 6080。 |
tlsConfig github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.TLSConfig | tlsConfig 用於設定安全監聽器的 TLS 設定。 |
kubeConfig 字串 | kubeConfig 是用於連線到 Kubernetes apiserver 的 kubeconfig 檔案。如果未指定,webhook 將嘗試載入叢集內組態。 |
apiServerHost 字串 | apiServerHost 用於覆寫 API 伺服器連線位址。已棄用:請改用 |
enablePprof 布林值 | enablePprof 設定是否啟用 pprof。 |
pprofAddress 字串 | pprofAddress 設定啟用時將提供 /debug/pprof 端點的位址。預設值為 'localhost:6060'。 |
logging k8s.io/component-base/logs/api/v1.LoggingConfiguration | logging 設定 webhook 的記錄行為。https://pkg.go.dev/k8s.io/component-base@v0.27.3/logs/api/v1#LoggingConfiguration |
featureGates map[string]bool | (選用) featureGates 是功能名稱對布林值的對應,用於啟用或停用實驗性功能。 |
metricsListenAddress 字串 | 度量端點應接聽的主機和連接埠。值「0」會停用度量伺服器。預設為「0.0.0.0:9402」。 |
metricsTLSConfig github.com/cert-manager/cert-manager/pkg/apis/config/shared/v1alpha1.TLSConfig | metricsTLSConfig 用於設定度量伺服器的 TLS 設定。 |
使用 git commit 67c897d
上的 gen-crd-api-reference-docs
產生。