准备 Internet 受限环境

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

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

本主题介绍了如何将管理集群部署到 vSphere 或 AWS 上的 Internet 受限环境中。如果在可以通过外部 Internet 连接提取映像的连接环境中使用 Tanzu Kubernetes Grid,则无需执行这些过程。

注意

本文档提供了在气隙环境中部署 Tanzu Kubernetes Grid 管理和工作负载集群的一般步骤。要在气隙环境中使用经验证的特定配置部署管理和工作负载集群,请参见 VMware Tanzu 参考架构文档。TKG v2.1 参考设计适用于 TKG v2.1 和 v2.2。

要遵循此过程,可以在联机和脱机环境中使用单个计算机或不同计算机作为引导计算机。

(可选)下载 Harbor OVA

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

  1. 转到 VMware Customer Connect,然后使用 VMware Customer Connect 凭据登录。
  2. 访问 Tanzu Kubernetes Grid 下载页面
  3. VMware Tanzu Kubernetes Grid 行中,单击转到下载 (Go to Downloads)
  4. 选择版本 (Select Version)下拉菜单中,选择 2.2.0
  5. 产品下载 (Product Downloads) 下,滚动到标有 Harbor OVA 的部分,然后单击立即下载 (Download Now)
  6. (可选)验证下载的文件与原始文件相同。VMware 为每次下载提供 SHA-1、SHA-256 和 MD5 校验和。要获取这些校验和,请单击要下载的条目下的 阅读更多信息 (Read More)。有关详细信息,请参见使用加密哈希

常规必备条件

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

  • 连接到 Internet 的 Linux 引导计算机:
    • 不在 Internet 受限环境中,或者可以访问代理服务器允许列表中列出的域。
    • 至少具有 2 GB RAM、2 个 vCPU 和 45 GB 硬盘空间。
    • 已安装 Tanzu CLI。请参见安装 Tanzu CLI 和其他工具以在连接到 Internet 的系统上下载、解压缩和安装 Tanzu CLI 二进制文件。
  • 集群虚拟机访问专用注册表中映像的一种方式:
    • 代理环境:允许集群虚拟机访问注册表的输出代理服务器。
      • 在此代理环境中部署管理集群时,请将集群配置文件中的 TKG_*_PROXY 变量设置为代理服务器的地址,并将 TKG_PROXY_CA_CERT 设置为代理服务器的 CA(如果其证书是自签名的)。请参见配置代理
    • 气隙环境:USB 拇指驱动器或其他介质,用于在注册表中填充图像后,将专用注册表置于气隙后面。
  • USB 拇指驱动器或其他便携式脱机存储设备。

vSphere 必备条件和架构

本文档提供了在气隙环境中在 vSphere 网络连接上部署 Tanzu Kubernetes Grid 管理和工作负载集群的一般步骤。要在气隙环境中的 vSphere 网络上以经验证的特定配置部署集群,请参见《VMware Tanzu Kubernetes Grid 2.1 气隙参考设计和部署》文档中的气隙环境参考设计中的 VMware Tanzu Kubernetes Grid on vSphere 网络连接在气隙环境中的 vSphere 网络连接上部署 Tanzu Kubernetes Grid。TKG v2.1 参考设计适用于 TKG v2.1 和 v2.2。

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.1 气隙参考设计和部署》文档中的 AWS 上的 VMware Tanzu Kubernetes Grid 气隙参考设计通过气隙环境在 AWS 上部署 Tanzu Kubernetes Grid。TKG v2.1 参考设计适用于 TKG v2.1 和 v2.2。

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:将映像下载到联机计算机

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

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

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

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


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

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

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

仅当尚未通过在联机计算机上运行 tanzu plugin sync 命令来安装 isolated-cluster 插件时,才执行此步骤。

  1. 登录到连接到 Internet 的 Linux 引导计算机。
  2. 安装 isolated-cluster 插件:

    tanzu plugin sync
    

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

重要

在执行此步骤之前,请确保下载映像的磁盘分区具有 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.2.0
    
    

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

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

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

  1. 在联机计算机上,转到 VMware Customer Connect 并使用您的 VMware Customer Connect 凭据登录。
  2. 访问 Tanzu Kubernetes Grid 下载页面
  3. VMware Tanzu Kubernetes Grid 行中,单击转到下载 (Go to Downloads)
  4. 选择版本 (Select Version)下拉菜单中,选择 2.2.0
  5. 产品下载 (Product Downloads) 下,滚动到标有 VMware Tanzu CLI 2.2 CLI 的部分,然后找到 VMware Tanzu CLI for Linux

  6. 单击立即下载 (Download Now)tanzu-cli-bundle-linux-amd64.tar.gz ZIP 文件将下载到本地计算机。

  7. (可选)验证下载的文件与原始文件相同。VMware 为每次下载提供 SHA-1、SHA-256 和 MD5 校验和。要获取这些校验和,请单击要下载的条目下的 阅读更多信息 (Read More)。有关详细信息,请参见使用加密哈希

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

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

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

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

在脱机的引导计算机上,解压缩 TAR 文件到 tanzu 目录:

tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu
cd $HOME/tanzu/cli
sudo install core/v0.29.0/tanzu-core-linux_amd64 /usr/local/bin/tanzu
tar -xvf tanzu-framework-plugins-standalone-linux-amd64.tar.gz

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

在脱机引导计算机上安装 isolated-cluster 插件:

tanzu plugin install isolated-cluster --local standalone-plugins/

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

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

docker login <URL>

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

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

将映像包上载到脱机计算机:

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 时配置注册表并保留环境变量。有关详细信息,请参见 VMware Tanzu CLI 参考中的 tanzu 配置集

您的 Internet 受限环境现在可以部署或升级 Tanzu Kubernetes Grid 管理集群,并开始在 vSphere 或 AWS 上部署工作负载集群。

要在气隙环境中使用经验证的特定配置部署管理和工作负载集群,请参见 VMware Tanzu 参考架构文档。TKG v2.1 参考设计适用于 TKG v2.1 和 v2.2。

要使用配置文件部署管理集群,请参见从配置文件部署管理集群

如果在升级过程中执行了此过程,请参见升级 Tanzu Kubernetes Grid

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