准备 Internet 受限环境

您可以在未连接到 Internet 的环境中部署 Tanzu Kubernetes Grid 管理集群和工作负载集群,例如:

  • 代理环境
  • 气隙环境,没有与 Internet 的物理连接

本主题介绍了如何将管理集群部署到 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 OVA

如果要安装 Harbor 注册表,请下载 Harbor OVA 文件:

  1. 转到 VMware Customer Connect,然后使用 VMware Customer Connect 凭据登录。
  2. 浏览到 Tanzu Kubernetes Grid v2.3.1 产品下载
  3. 滚动到标有 Harbor OVA 的部分,然后单击立即下载 (Download Now)
  4. (可选)验证下载的文件与原始文件相同。VMware 为每次下载提供 SHA-1、SHA-256 和 MD5 校验和。要获取这些校验和,请单击要下载的条目下的 阅读更多信息 (Read More)。有关详细信息,请参见使用加密哈希

常规必备条件

在 Internet 受限环境中部署管理集群和工作负载集群之前,您必须具有:

  • 连接到 Internet 的 Linux 引导计算机:
  • 集群虚拟机访问专用注册表中映像的一种方式:
    • 代理环境:允许集群虚拟机访问注册表的输出代理服务器。
      • 在此代理环境中部署管理集群时,请将集群配置文件中的 TKG_*_PROXY 变量设置为代理服务器的地址,并将 TKG_PROXY_CA_CERT 设置为代理服务器的 CA(如果其证书是自签名的)。请参见配置代理
    • 气隙环境:USB 拇指驱动器或其他介质,用于在注册表中填充图像后,将专用注册表置于气隙后面。
  • USB 拇指驱动器或其他便携式脱机存储设备。

vSphere 必备条件和架构

本文档提供了在气隙环境中在 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 架构

vSphere 上的 Internet 受限 Tanzu Kubernetes Grid 安装具有防火墙和主要组件之间的通信,如下所示。

注意

下图介绍了在联机和脱机环境中使用不同的引导计算机的情况。

图:vSphere 上的气隙 TKG

在 vSphere 上,除了上述常规必备条件外,还必须:

  • 将创建节点虚拟机的 OVA 上载到 vSphere。请参见将管理集群部署到 vSphere 中的将基础映像模板导入到 vSphere

    创建虚拟机后,如果无法使用默认用户名/密码登录,请如重置丢失的 Root 密码中所述使用 Gnu GRUB 重置密码,如果是 Photon OS。

  • 以 Root 用户身份登录到 Jumpbox,然后启用远程 SSH,如下所示:

    1. 在编辑器中打开文件 /etc/ssh/sshd_config。nano /etc/ssh/sshd_config
    2. 在文件的“身份验证”部分添加一行,指出 PermitRootLogin yes。在这种情况下,该行存在,请移除“#”。
    3. 保存更新的 /etc/ssh/sshd_config 文件。
    4. 使用 service sshd restart 重新启动 SHH 服务器
  • 安装和配置与 Docker 兼容的专用容器注册表,如 HarborDockerArtifactory,如下所示。此注册表在 Tanzu Kubernetes Grid 之外运行,并与部署为集群共享服务的任何注册表分开:

    • 在防火墙内安装注册表。
    • 您可以使用由可信 CA 签名的 SSL 证书或自签名证书配置容器注册表。
    • 注册表不得实施用户身份验证。例如,如果使用 Harbor 注册表,则项目必须是公用项目,而不是专用项目。
    • 要在 vSphere 上安装 Harbor,请执行以下操作:
  • 配置脱机子网以用作 Internet 受限环境,并将其与 Jumpbox 相关联。

  • 设置 DHCP 服务器以将专用 IP 分配给新实例。

  • 在数据中心创建 vSphere Distributed Switch,以便在一个中央位置同时处理多个主机的网络配置。

AWS 必备条件和架构

本文档提供了在气隙环境中在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。

AWS 架构

Amazon Web Services (AWS) 上的代理 Tanzu Kubernetes Grid 安装在主要组件之间具有防火墙和通信,如下所示。安全组 (SG) 在控制平面和工作负载域之间以及工作负载组件和控制平面组件之间自动创建。

图:AWS 上的气隙 TKG

对于 AWS 上的代理安装,除了上述常规必备条件外,您还需要:

  • 未配置 Internet 网关(“脱机 VPC”)的 AWS VPC,如下所述。
    • 连接到 Internet 的引导计算机必须能够访问此脱机 VPC 中的 IP 地址。有关详细信息,请参见 VPC 对等互连
  • 安装和配置了与 Docker 兼容的专用容器注册表,如 HarborDockerArtifactory,如下所示。此注册表在 Tanzu Kubernetes Grid 之外运行,并与部署为集群共享服务的任何注册表分开:
    • 在防火墙内安装注册表。
    • 您可以使用由可信 CA 签名的 SSL 证书或自签名证书配置容器注册表。
    • 注册表不得实施用户身份验证。例如,如果使用 Harbor 注册表,则项目必须是公用项目,而不是专用项目。
    • 要安装 Harbor,请执行以下操作:
      1. 下载 Harbor OVA
      2. 按照 Harbor 文档中的 Harbor 安装和配置说明进行操作。
  • 在脱机 VPC 中运行的 Linux 引导虚拟机,置备方式与上述已连接 Internet 的计算机类似。
    • 脱机引导虚拟机必须能够直接访问由 Tanzu Kubernetes Grid 创建的集群虚拟机,而无需使用代理。

创建脱机 VPC 后,必须向其添加以下端点(VPC 端点在 VPC 和支持的 AWS 服务之间启用专用连接):

  • 服务端点:
    • sts
    • ssm
    • ec2
    • ec2messages
    • elasticloadbalancing
    • secretsmanager
    • ssmmessages

要将服务端点添加到 VPC,请执行以下操作:

  1. 在 AWS 控制台中,浏览到VPC 仪表板 (VPC Dashboard) > 端点 (Endpoints)
  2. 对于上述每项服务
    1. 单击创建端点 (Create Endpoint)
    2. 搜索服务,然后在服务名称 (Service Name) 下选择该服务。
    3. 选择 VPC 及其子网 (Subnets)
    4. 为端点启用 DNS 名称
    5. 选择允许 VPC 中的虚拟机访问端点的安全组 (Security group)
    6. 选择策略 (Policy) > 全部访问权限 (Full Access)
    7. 单击创建端点 (Create Endpoint)

准备 Internet 受限环境

要准备 Internet 受限的环境以部署 Tanzu Kubernetes Grid,可以选择以下选项之一:

  • 用于联机和脱机环境的单个引导计算机。

  • 用于联机和脱机环境的不同引导计算机。

根据选择的选项,按照下表中所述的步骤进行操作:

单个引导计算机 不同的引导计算机
步骤 1:在联机计算机上安装隔离集群插件

步骤 2:将 TKG 映像下载到联机计算机

步骤 3:将适用于 Linux 的 Tanzu CLI 二进制映像下载到联机计算机

步骤 4:将 CLI 插件包下载到联机计算机

步骤 5:将文件复制到脱机计算机

步骤 6:解压缩脱机计算机上的文件

步骤 7:登录到脱机计算机上的专用注册表

步骤 8:在脱机计算机上安装 Tanzu CLI


步骤 9:在联机计算机上安装 CLI 插件包

步骤 10:将 TKG 映像上载到专用注册表

步骤 1:在联机计算机上安装隔离集群插件

要安装 isolated-cluster 插件,请执行以下操作:

  1. 按照《VMware Tanzu CLI 文档》安装 Tanzu CLI 插件中介绍安装单个插件的过程,安装 isolated-cluster 插件。

  2. 确保 isolated-cluster 插件的版本号与核心 Tanzu CLI 的版本号兼容:

    1. 运行 tanzu plugin list 以查看 Tanzu CLI 插件的版本号。

    2. 请参阅《关于 Tanzu Kubernetes Grid》中的 TKG、Tanzu CLI 插件和 Tanzu Standard 软件包存储库版本以确认 isolated-cluster 插件版本与 TKG v2.3 兼容。

      • 通过运行 tanzu version 列出的核心 Tanzu CLI 版本应与 TKG 发行说明的产品快照中列出的 TKG v2.3 的 Tanzu CLI 版本相匹配。
    3. 如果 isolated-cluster 插件版本与 TKG 版本不匹配,请按照升级 Tanzu Kubernetes Grid 下所述升级 TKG。

步骤 2:将 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.3.1
    
    

TAR 文件形式的映像包以及 publish-images-fromtar.yaml 文件将下载到联机计算机。YAML 文件定义映像和 TAR 文件之间的映射。

步骤 3:将适用于 Linux 的 Tanzu CLI 二进制映像下载到联机计算机

将适用于 Linux 的 Tanzu CLI 映像(ZIP 文件)下载到联机计算机:

  1. 转到 VMware Customer Connect 上的 VMware Tanzu CLI 页面
  2. 产品下载 (Product Downloads) 下,找到 VMware Tanzu CLI for Linux,然后单击立即下载 (Download Now)tanzu-cli-linux-amd64.tar.gz ZIP 文件将下载到本地计算机。

步骤 4:将 CLI 插件包下载到联机计算机

将 CLI 插件包下载到联机计算机:

在 Tanzu CLI 中,运行以下命令下来 CLI 插件包:

tanzu plugin download-bundle --group vmware-tkg/default --to-tar /tmp/plugin-bundle.tar.gz

步骤 5:将文件复制到脱机计算机

通过 USB 拇指驱动器或其他存储介质将以下文件复制到脱机计算机(即代理或气隙环境中的引导计算机):

  • 映像 TAR 文件
  • YAML 文件
  • tanzu-cli-bundle-linux-amd64.tar.gz ZIP 文件
  • CLI 插件包

步骤 6:解压缩脱机计算机上的文件

在脱机的引导计算机上,解压缩 Tanzu CLI 映象 ZIP 文件到 tanzu 目录:

tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu

步骤 7:登录到脱机计算机上的专用注册表

通过 Docker 登录到脱机计算机上的专用注册表:

docker login <URL>

其中,URL 是专用存储库的 URL,映像将存储在代理或气隙环境中。

步骤 8:在脱机计算机上安装 Tanzu CLI

在脱机计算机上安装 Tanzu CLI:

sudo install tanzu-cli-linux_amd64 /usr/local/bin/tanzu

步骤 9:在联机计算机上安装 CLI 插件包

在联机计算机上安装 CLI 插件包。

  1. 如果气隙环境中的专用注册表配置了自签名 CA 证书,请按照 为自定义注册表添加证书配置中的说明添加证书验证首选项。

  2. 将 CLI 插件包上载到气隙环境中的专用存储库:

    tanzu plugin upload-bundle --tar /tmp/plugin-bundle.tar.gz --to-repo PRIVATE-REPO/tanzu_cli/plugins
    

    其中,PRIVATE-REPO 是专用存储库,其中映像将存储在代理或气隙环境中。例如,registry.example.com

  3. 更新 Tanzu CLI 以指向新的插件源:

    tanzu plugin source update default --url PRIVATE-REPO/tanzu_cli/plugins/plugin-inventory:latest
    
  4. 确认插件是否可发现:

    tanzu plugin search
    
    tanzu plugin group search 
    
  5. 安装 CLI 插件:

    tanzu plugin install 
    

步骤 10:将 TKG 映像上载到专用注册表

将 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_CERTIFICATETKG_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

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