安装证书管理器以进行证书管理

本主题介绍了如何在 Tanzu Kubernetes Grid 中将 cert-manager 安装到工作负载集群中。cert-manager 会自动安装在独立管理集群中。

本主题适用于在 vSphere、Amazon Web Services (AWS) 以及 Azure 上运行的工作负载集群。

准备工作负载集群以安装证书管理器

要准备集群,请执行以下操作:

  1. 获取要在其中部署证书管理器的工作负载集群的管理员凭据。例如:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. 将 kubectl 的上下文设置为集群。例如:

    kubectl config use-context my-cluster-admin@my-cluster
    

安装证书管理器

要安装证书管理器,请执行以下操作:

  1. 如果要将 cert-manager 安装到单节点集群,如 vSphere 上的单节点集群中所述,修补 cert-manager 软件包注释,以防止在单节点集群上作为核心软件包安装的 cert-managerstandard 存储库中的 cert-manager 之间发生冲突:

    kubectl annotate --overwrite package cert-manager.tanzu.vmware.com.1.10.1+vmware.1-tkg.1 tkg.tanzu.vmware.com/package-repo='standard'
    
  2. 如果集群没有安装有 cert-manager 软件包的软件包存储库,如 tanzu-standard 存储库,请安装一个:

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    其中:

    • PACKAGE-REPO-NAME 是软件包存储库的名称,如 tanzu-standard 或使用 ADDITIONAL_IMAGE_REGISTRY 变量配置的专用映像注册表的名称。
    • PACKAGE-REPO-ENDPOINT 是软件包存储库的 URL。

      • 对于此版本,tanzu-standard URL 为 projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16。要从 Tanzu CLI 获取此值,请参见列出软件包存储库,或在 Tanzu Mission Control 中查看集群 (Cluster) 窗格中的附加模块 (Addons) > 存储库 (Repositories) 列表。
  3. 确认 cert-manager 软件包在工作负载集群中可用:

    tanzu package available list -A
    
  4. 检索可用软件包的版本:

    tanzu package available list cert-manager.tanzu.vmware.com -A
    
  5. 安装 cert-manager 软件包:

    tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace TARGET-NAMESPACE --version AVAILABLE-PACKAGE-VERSION
    

    其中:

    • TARGET-NAMESPACE 是要在其中安装 cert-manager 软件包的命名空间。例如,my-packagestanzu-cli-managed-packages 命名空间。

      • 如果未指定 --namespace 标记,则 Tanzu CLI 会在 default 命名空间中安装软件包。
      • 指定的命名空间必须已存在,例如,通过运行 kubectl create namespace my-packages
    • AVAILABLE-PACKAGE-VERSION 是上面检索到的版本。

    例如:

    tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace my-packages --version 1.10.1+vmware.1-tkg.1
    
  6. 确认已安装 cert-manager 软件包:

    tanzu package installed list -A
    

    cert-manager 软件包和 cert-manager 应用安装在运行 tanzu package install 命令时指定的命名空间中。

  7. 确认 cert-manager 应用已在 TARGET-NAMESPACE 中成功协调。例如:

    kubectl get apps -A
    NAMESPACE     NAME             DESCRIPTION           SINCE-DEPLOY   AGE
    my-packages   cert-manager     Reconcile succeeded   3m2s           3m12s
    ...
    

    如果状态不是 Reconcile Succeeded,请查看 cert-manager 应用的完整状态详细信息。查看完整状态可帮助您解决问题。

    kubectl get app cert-manager --namespace TARGET-NAMESPACE -o yaml
    

    其中,TARGET-NAMESPACE 是安装软件包的命名空间。如果故障排除无法帮助您解决问题,则必须先卸载软件包,然后再重新安装:

    tanzu package installed delete cert-manager --namespace TARGET-NAMESPACE
    
  8. 确认 cert-manager- Pod 正在运行:

    kubectl get pods -A
    

    证书管理器 Pod 以及与 cert-manager 组件关联的任何其他资源是在 cert-manager 命名空间中创建的。

check-circle-line exclamation-circle-line close-line
Scroll to top icon