要安全地登录到 主管TKG 服务 集群,请使用相应的 TLS 证书配置 kubectl 的 vSphere 插件,并确保运行最新版本的插件。

主管 CA 证书

vSphere IaaS control plane 支持使用 kubectl 的 vSphere 插件 命令 kubectl vsphere login … 通过 vCenter Single Sign-On 访问集群。

kubectl 的 vSphere 插件 默认为安全登录,需要可信证书,默认证书是由 vCenter Server 根 CA 签名的证书。尽管插件支持 --insecure-skip-tls-verify 标记,但出于安全考虑,不建议这样做。

要使用 kubectl 的 vSphere 插件 安全地登录到 主管TKG 服务 集群,有两个选项可选:
选项 说明

在每个客户机上下载并安装 vCenter Server 根 CA 证书。

对于 Linux,请参见以下部分:为 vCenter 下载可信根 CA 证书并将其安装到 Ubuntu 客户端

对于 Windows 和 Mac,请参阅 VMware 知识库文章如何下载并安装 vCenter Server 根证书

将用于 主管 的 VIP 证书替换为每个客户机信任的 CA 签名的证书。

请参见安装和配置 vSphere IaaS 控制平面

注: 有关 vSphere 身份验证、包括 vCenter Single Sign-On、管理和轮换 vCenter Server 证书和故障排除的详细信息,请参阅 vSphere 身份验证文档。

TKG 集群 CA 证书

要使用 kubectl CLI 安全地连接 TKG 集群 API 服务器,需要下载 TKG 集群 CA 证书。

如果使用的是最新版本的 kubectl 的 vSphere 插件,则首次登录到 TKG 集群时,该插件会在 kubconfig 文件中注册 TKG 集群 CA 证书。此证书存储在名为 TANZU-KUBERNETES-CLUSTER-NAME-ca 的 Kubernetes 密钥中。该插件使用此证书在相应集群的证书颁发机构数据存储中填充 CA 信息。

如果已更新 主管,请确保更新到插件的最新版本。

为 vCenter 下载可信根 CA 证书并将其安装到 Ubuntu 客户端

按照以下过程为 vCenter Server 下载可信根 CA 证书并将其安装到 Ubuntu 客户端,以便您可以使用 kubectl 的 vSphere 插件 安全地登录到 主管TKG 服务 集群。
  1. 安装 kubectl 的 vSphere 插件。请参见安装 适用于 vSphere 的 Kubernetes CLI 工具
  2. 为启用工作负载管理vCenter Server 下载可信根 CA 证书。
    wget https://VC-IP-or_FQDN/certs/download.zip --no-check-certificate
  3. download.zip 文件的内容提取到当前目录。
    unzip download.zip -d .
  4. 将路径更改为 Linux 目录。
    cd /certs/lin
  5. /certs/lin 目录中列出(ls) CA 证书。

    您应该会看到两个 PEM 格式的证书:*.0*.r1。PEM 格式的证书采用人工可读的 base64 格式,并且以 ----BEGIN CERTIFICATE---- 开头。

  6. *.crt 扩展名附加到证书文件。例如:
    cp dbad4059.0 dbad4059.0.crt
    cp dbad4059.r1 dbad4059.r1.crt
  7. 将这些文件复制到 OpenSSL 证书目录 /etc/ssl/certs 中。
    sudo cp dbad4059.0.crt /etc/ssl/certs
    sudo cp dbad4059.r1.crt /etc/ssl/certs
  8. 安全地登录到 主管
    kubectl vsphere login --server=IP-or-FQDN --vsphere-username USERNAME
  9. 安全地登录到 TKG 服务 集群。
    kubectl vsphere login --server=IP-or-FQDN --vsphere-username USERNAME --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace VSPHERE-NS