要安全地登录到 主管 和 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
标记,但出于安全考虑,不建议这样做。
选项 | 说明 |
---|---|
在每个客户机上下载并安装 vCenter Server 根 CA 证书。 |
对于 Linux,请参见以下部分:为 vCenter 下载可信根 CA 证书并将其安装到 Ubuntu 客户端 对于 Windows 和 Mac,请参阅 VMware 知识库文章如何下载并安装 vCenter Server 根证书。 |
将用于 主管 的 VIP 证书替换为每个客户机信任的 CA 签名的证书。 |
请参见安装和配置 vSphere IaaS 控制平面。 |
TKG 集群 CA 证书
要使用 kubectl
CLI 安全地连接 TKG 集群 API 服务器,需要下载 TKG 集群 CA 证书。
如果使用的是最新版本的 kubectl 的 vSphere 插件,则首次登录到 TKG 集群时,该插件会在 kubconfig 文件中注册 TKG 集群 CA 证书。此证书存储在名为 TANZU-KUBERNETES-CLUSTER-NAME-ca
的 Kubernetes 密钥中。该插件使用此证书在相应集群的证书颁发机构数据存储中填充 CA 信息。
如果已更新 主管,请确保更新到插件的最新版本。
为 vCenter 下载可信根 CA 证书并将其安装到 Ubuntu 客户端
- 安装 kubectl 的 vSphere 插件。请参见安装 适用于 vSphere 的 Kubernetes CLI 工具。
- 为启用工作负载管理的 vCenter Server 下载可信根 CA 证书。
wget https://VC-IP-or_FQDN/certs/download.zip --no-check-certificate
- 将
download.zip
文件的内容提取到当前目录。unzip download.zip -d .
- 将路径更改为 Linux 目录。
cd /certs/lin
- 在
/certs/lin
目录中列出(ls
) CA 证书。您应该会看到两个 PEM 格式的证书:
*.0
和*.r1
。PEM 格式的证书采用人工可读的 base64 格式,并且以----BEGIN CERTIFICATE----
开头。 - 将
*.crt
扩展名附加到证书文件。例如:cp dbad4059.0 dbad4059.0.crt
cp dbad4059.r1 dbad4059.r1.crt
- 将这些文件复制到 OpenSSL 证书目录
/etc/ssl/certs
中。sudo cp dbad4059.0.crt /etc/ssl/certs
sudo cp dbad4059.r1.crt /etc/ssl/certs
- 安全地登录到 主管。
kubectl vsphere login --server=IP-or-FQDN --vsphere-username USERNAME
- 安全地登录到 TKG 服务 集群。
kubectl vsphere login --server=IP-or-FQDN --vsphere-username USERNAME --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace VSPHERE-NS