您可以在未连接到 Internet 的环境中部署 Tanzu Kubernetes Grid 管理集群和工作负载集群,例如:
本主题介绍了如何将管理集群部署到 vSphere 或 AWS 上的 Internet 受限环境中。如果在可以通过外部 Internet 连接提取映像的连接环境中使用 Tanzu Kubernetes Grid,则无需执行这些过程。
注意本文档提供了在气隙环境中部署 Tanzu Kubernetes Grid 管理和工作负载集群的一般步骤。要在气隙环境中使用经验证的特定配置部署管理和工作负载集群,请参见 VMware Tanzu Kubernetes Grid 2.3 气隙参考设计和部署。TKG v2.3 参考设计适用于 TKG v2.3 和 v2.4。
要遵循此过程,可以在联机和脱机环境中使用单个计算机或不同计算机作为引导计算机。
如果要安装 Harbor 注册表,请下载 Harbor OVA 文件:
在 Internet 受限环境中部署管理集群和工作负载集群之前,您必须具有:
TKG_*_PROXY
变量设置为代理服务器的地址,并将 TKG_PROXY_CA_CERT
设置为代理服务器的 CA(如果其证书是自签名的)。请参见配置代理。注意VMware 不支持在代理或气隙环境中具有 Windows Worker 节点的 TKG 工作负载集群。
本文档提供了在气隙环境中在 vSphere 网络连接上部署 Tanzu Kubernetes Grid 管理和工作负载集群的一般步骤。要在气隙环境中的 vSphere 网络上以经验证的特定配置部署集群,请参见《VMware Tanzu Kubernetes Grid 2.3 气隙参考设计和部署》文档中的 VMware Tanzu Kubernetes Grid on vSphere 气隙参考设计和在气隙环境中的 vSphere 网络连接上部署 Tanzu Kubernetes Grid。TKG v2.3 参考设计适用于 TKG v2.3 和 v2.4。
vSphere 上的 Internet 受限 Tanzu Kubernetes Grid 安装具有防火墙和主要组件之间的通信,如下所示。
注意下图介绍了在联机和脱机环境中使用不同的引导计算机的情况。
在 vSphere 上,除了上述常规必备条件外,还必须:
将创建节点虚拟机的 OVA 上载到 vSphere。请参见将管理集群部署到 vSphere 中的将基础映像模板导入到 vSphere。
创建虚拟机后,如果无法使用默认用户名/密码登录,请如重置丢失的 Root 密码中所述使用 Gnu GRUB 重置密码,如果是 Photon OS。
以 Root 用户身份登录到 Jumpbox,然后启用远程 SSH,如下所示:
PermitRootLogin yes
。在这种情况下,该行存在,请移除“#”。service sshd restart
重新启动 SHH 服务器安装和配置与 Docker 兼容的专用容器注册表,如 Harbor、Docker 或 Artifactory,如下所示。此注册表在 Tanzu Kubernetes Grid 之外运行,并与部署为集群共享服务的任何注册表分开:
配置脱机子网以用作 Internet 受限环境,并将其与 Jumpbox 相关联。
设置 DHCP 服务器以将专用 IP 分配给新实例。
在数据中心创建 vSphere Distributed Switch,以便在一个中央位置同时处理多个主机的网络配置。
本文档提供了在气隙环境中在AWS 上部署 Tanzu Kubernetes Grid 管理集群和工作负载集群的一般步骤。要在气隙环境中的 AWS 上使用经验证的特定配置部署集群,请参见《VMware Tanzu Kubernetes Grid 2.3 气隙参考设计和部署》文档中的 AWS 上的 VMware Tanzu Kubernetes Grid 气隙参考设计和通过气隙环境在 AWS 上部署 Tanzu Kubernetes Grid。TKG v2.3 参考设计适用于 TKG v2.3 和 v2.4。
Amazon Web Services (AWS) 上的代理 Tanzu Kubernetes Grid 安装在主要组件之间具有防火墙和通信,如下所示。安全组 (SG) 在控制平面和工作负载域之间以及工作负载组件和控制平面组件之间自动创建。
对于 AWS 上的代理安装,除了上述常规必备条件外,您还需要:
创建脱机 VPC 后,必须向其添加以下端点(VPC 端点在 VPC 和支持的 AWS 服务之间启用专用连接):
sts
ssm
ec2
ec2messages
elasticloadbalancing
secretsmanager
ssmmessages
要将服务端点添加到 VPC,请执行以下操作:
要准备 Internet 受限的环境以部署 Tanzu Kubernetes Grid,可以选择以下选项之一:
用于联机和脱机环境的单个引导计算机。
用于联机和脱机环境的不同引导计算机。
根据选择的选项,按照下表中所述的步骤进行操作:
单个引导计算机 | 不同的引导计算机 | |
---|---|---|
步骤 1:在联机计算机上安装隔离集群插件 | 是 |
是 |
步骤 2:将 TKG 映像下载到联机计算机 | 是 |
是 |
步骤 3:将适用于 Linux 的 Tanzu CLI 二进制映像下载到联机计算机 | 否 |
是 |
步骤 4:将 CLI 插件包下载到联机计算机 | 否 |
是 |
步骤 5:将文件复制到脱机计算机 | 否 |
是 |
步骤 6:解压缩脱机计算机上的文件 | 否 |
是 |
步骤 7:登录到脱机计算机上的专用注册表 | 是 |
是 |
步骤 8:在脱机计算机上安装 Tanzu CLI | 否 |
是 |
步骤 9:在联机计算机上安装 CLI 插件包 | 是 |
是 |
步骤 10:将 TKG 映像上载到专用注册表 | 是 |
是 |
要安装 isolated-cluster
插件,请执行以下操作:
按照《VMware Tanzu CLI 文档》的安装 Tanzu CLI 插件中介绍安装单个插件的过程,安装 isolated-cluster
插件。
确保 isolated-cluster
插件的版本号与核心 Tanzu CLI 的版本号兼容:
运行 tanzu plugin list
以查看 Tanzu CLI 插件的版本号。
请参阅《关于Tanzu Kubernetes Grid》中的 TKG 和 Tanzu CLI 插件版本以确认 isolated-cluster
插件版本与 TKG v2.4 兼容。
tanzu version
列出的核心 Tanzu CLI 版本应与 TKG 发行说明产品快照中列出的 TKG v2.4 Tanzu CLI 版本相匹配。如果 isolated-cluster
插件版本与 TKG 版本不匹配,请按照升级 Tanzu Kubernetes Grid 下所述升级 TKG。
重要在执行此步骤之前,请确保下载映像的磁盘分区具有 45 GB 可用空间。
在连接到 Internet 的 Linux 引导计算机上下载映像包:
tanzu isolated-cluster download-bundle --source-repo <SOURCE-REGISTRY> --tkg-version <TKG-VERSION> --ca-certificate <SECURITY-CERTIFICATE>
其中:
SOURCE-REGISTRY
是存储映像的注册表的 IP 地址或主机名。TKG-VERSION
是要在代理或气隙环境中部署的 Tanzu Kubernetes Grid 的版本。SECURITY-CERTIFICATE
是存储映像的注册表的安全证书。要绕过安全证书验证,请使用 --insecure
,而不是 --ca-certificate
。这两个字符串都是可选的。如果未指定任何值,系统将验证默认服务器安全证书。
以下是一个示例。
tanzu isolated-cluster download-bundle --source-repo projects.registry.vmware.com/tkg --tkg-version v2.4.0
TAR 文件形式的映像包以及 publish-images-fromtar.yaml
文件将下载到联机计算机。YAML 文件定义映像和 TAR 文件之间的映射。
将适用于 Linux 的 Tanzu CLI 映像(ZIP 文件)下载到联机计算机:
tanzu-cli-linux-amd64.tar.gz
ZIP 文件将下载到本地计算机。将 CLI 插件包下载到联机计算机:
在 Tanzu CLI 中,运行以下命令下来 CLI 插件包:
tanzu plugin download-bundle --group vmware-tkg/default --to-tar /tmp/plugin-bundle.tar.gz
通过 USB 拇指驱动器或其他存储介质将以下文件复制到脱机计算机(即代理或气隙环境中的引导计算机):
tanzu-cli-bundle-linux-amd64.tar.gz
ZIP 文件在脱机的引导计算机上,解压缩 Tanzu CLI 映象 ZIP 文件到 tanzu
目录:
tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu
通过 Docker 登录到脱机计算机上的专用注册表:
docker login <URL>
其中,URL
是专用存储库的 URL,映像将存储在代理或气隙环境中。
在脱机计算机上安装 Tanzu CLI:
sudo install tanzu-cli-linux_amd64 /usr/local/bin/tanzu
在联机计算机上安装 CLI 插件包。
如果气隙环境中的专用注册表配置了自签名 CA 证书,请按照 为自定义注册表添加证书配置中的说明添加证书验证首选项。
将 CLI 插件包上载到气隙环境中的专用存储库:
tanzu plugin upload-bundle --tar /tmp/plugin-bundle.tar.gz --to-repo PRIVATE-REPO/tanzu_cli/plugins
其中,PRIVATE-REPO
是专用存储库,其中映像将存储在代理或气隙环境中。例如,registry.example.com
。
更新 Tanzu CLI 以指向新的插件源:
tanzu plugin source update default --url PRIVATE-REPO/tanzu_cli/plugins/plugin-inventory:latest
确认插件是否可发现:
tanzu plugin search
tanzu plugin group search
安装 CLI 插件:
tanzu plugin install
将 TKG 映像包上载到专用注册表:
tanzu isolated-cluster upload-bundle --source-directory <SOURCE-DIRECTORY> --destination-repo <DESTINATION-REGISTRY> --ca-certificate <SECURITY-CERTIFICATE>
其中:
SOURCE-DIRECTORY
是映像 TAR 文件的存储位置的路径。DESTINATION-REGISTRY
是专用注册表的路径,映像将托管在气隙环境中。SECURITY-CERTIFICATE
是专用注册表的安全证书,映像将托管在代理或气隙环境中。要绕过安全证书验证,请使用 --insecure
,而不是 --ca-certificate
。这两个字符串都是可选的。如果未指定任何值,系统将验证默认服务器安全证书。以下是一个示例。
tanzu isolated-cluster upload-bundle --source-directory ./ --destination-repo hostname1 --ca-certificate /tmp/registryca.crt
使用以下配置文件引用变量配置将映像移动到的注册表:
TKG_CUSTOM_IMAGE_REPOSITORY
TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE
或 TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY
。有关这些配置变量的详细信息,请参见专用映像注册表配置。
注意您还可以使用
tanzu config set env.CONFIG-VARIABLE
命令,用于在将来使用 Tanzu CLI 时配置注册表并保留环境变量。有关详细信息,请参见Tanzu CLI 命令参考中的 tanzu 配置集。
您的 Internet 受限环境现在可以部署或升级 Tanzu Kubernetes Grid 管理集群,并开始在 vSphere 或 AWS 上部署工作负载集群。
要在气隙环境中使用经验证的特定配置部署管理和工作负载集群,请参见 VMware Tanzu Kubernetes Grid 2.3 气隙参考设计和部署。TKG v2.3 参考设计适用于 TKG v2.3 和 v2.4。
要使用配置文件部署管理集群,请参见从配置文件部署管理集群。
如果在升级过程中执行了此过程,请参见升级 Tanzu Kubernetes Grid。