在自訂命名空間中執行 cert-manager

本主題說明如何為 cert-manager 指定自訂 Kubernetes 命名空間。

在大多數情況下,cert-manager 會在 cert-manager 命名空間中執行。部分使用者可能會受到公司政策限制,無法建立新的 Kubernetes 命名空間,或是有政策規定 cert-manager 必須在其他命名空間 (例如 kube-system) 中執行。

指定 cert-manager 的自訂命名空間

  1. 視需要建立命名空間:
    kubectl create namespace new-cert-manager-namespace
  2. 按照 cert-manager 說明文件中的「安裝:簡介」一節指示安裝 cert-manager。
  3. 在覆寫檔案中新增 certManager 節。
    certManager:
      namespace: new-cert-manager-namespace
        
  4. 套用命名空間變更:

    先以模擬測試:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f OVERRIDES_FILE.yaml \
      --dry-run
    

    請套用變更:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace apigee-system \
      --atomic \
      -f OVERRIDES_FILE.yaml
    
  5. 使用 kubectl get pods 指令,確認 cert-manager 已正確安裝在新命名空間中:
    kubectl get pods -n new-cert-manager-namespace
    NAME                                      READY   STATUS    RESTARTS   AGE
    cert-manager-1234567-abcde                1/1     Running   0          21s
    cert-manager-cainjector-23456789a-bcdef   1/1     Running   0          22s
    cert-manager-webhook-3456789ab-cdef0      1/1     Running   0          20s
  6. 如果 cert manager 先前已在執行,請按照Uninstall in the cert-manager documentation 中的指示,刪除 cert-manager 命名空間中的 cert-manager 例項。