Linux 自定义计算机映像

此过程将指导您构建 Linux 自定义计算机映像,以便在 AWS、Azure 或 vSphere 上创建集群时使用。它分为以下部分。有关 Tanzu Kubernetes Grid 中的集群类型的详细信息,请参见工作负载集群类型

如过程中所述,根据您是为基于类的集群还是基于计划的(旧版)集群构建映像,某些步骤会有所不同。

Linux 映像必备条件

要构建 Linux 自定义计算机映像,您需要:

  • 目标基础架构、AWS、Azure 或 vSphere 上的帐户。
  • 安装了以下内容的 macOS 或 Linux 工作站:
    • Docker 桌面
    • 对于 AWS:aws 命令行界面 (CLI)
    • 对于 Azure:az CLI
    • 对于 vSphere:要构建 RHEL 8 映像,您需要 Linux 工作站,而不是 macOS。

(基于类,vSphere)检索操作系统映像版本

构建映象用于 vSphere 上基于类的集群之前,您必须检索与要用于自定义映像的 Kubernetes 版本的默认 Ubuntu OVA 关联的操作系统映像版本。您需要将此操作系统映像版本分配给以下构建 Linux 映像步骤中的自定义映像。

要检索操作系统映像版本,请根据您的用例执行以下操作之一:

  • 如果您有使用当前 Tanzu Kubernetes Grid 版本的默认 Kubernetes 版本创建的正在运行的管理集群,则可以从该集群中检索操作系统映像版本:

    1. kubectl 上下文设置为管理集群。

    2. 从可用 TKr 列表中,选择要用于自定义映像的 Kubernetes 版本的 Tanzu Kubernetes 版本 (TKr)。例如,v1.26.8---vmware.2-tkg.1。要列出可用的 TKr,请运行:

      kubectl get tkr
      
    3. 打开 TKr 并记录 osImages 属性。此属性指定与 TKr 关联的 OSImage 对象的名称。

    4. 列出 Kubernetes 中的 OSImage 对象:

      kubectl get osimages
      
    5. 在输出中,找到与默认 Ubuntu OVA 的 TKr osImages 名称匹配的 OSImage 对象列表。

    6. 记录 OSImage 列表的 NAME 属性,并将其嵌入的 --- 替换为 + 字符。例如,v1.26.8+vmware.1-tkg.1-0edd4dafbefbdb503f64d5472e500cf8

  • 如果您没有使用当前 Tanzu Kubernetes Grid 版本的默认 Kubernetes 版本创建的正在运行的管理集群,则可以直接从默认 Ubuntu OVA 检索操作系统映像版本(本地或从 vSphere):

    • 要在本地检索操作系统映像版本,请执行以下操作:

      1. 从 Customer Connect 下载目标 Kubernetes 版本的默认 Ubuntu OVA:
        1. 转到 VMware Customer Connect,然后使用 VMware Customer Connect 凭据登录。
        2. 浏览到 Tanzu Kubernetes Grid v2.3.1 产品下载
        3. 下载 OVA。例如,Ubuntu 2004 Kubernetes v1.26.8 OVA
      2. 使用您选择的提取工具解压缩下载的 OVA。
      3. 在解压缩的目录中,找到 .ofv 文件。
      4. .ofv 文件中,搜索 OVA VERSION 属性并记录其值。例如,v1.26.8+vmware.1-tkg.1-0edd4dafbefbdb503f64d5472e500cf8。属性看上去与下面类似:

        <Property ovf:key="VERSION" ovf:type="string" ovf:userConfigurable="false" ovf:value="v1.26.8+vmware.1-tkg.1-0edd4dafbefbdb503f64d5472e500cf8"/>
        
    • 如果已为目标 Kubernetes 版本上载到 vSphere 的默认 Ubuntu OVA,也可以通过在 vSphere UI 中检查 OVA 虚拟机属性或使用 govc CLI 来检索操作系统映像版本。要使用此方法,请在将 OVA 虚拟机转换为模板之前检索操作系统映像版本。

      • 要从 vSphere UI 检索操作系统映像版本,请执行以下操作:

        1. 找到 OVA 虚拟机,然后打开 OVA 虚拟机摘要页面上的配置 (Configure) 选项卡。
        2. 转到设置 (Settings ) –> vApp 选项 (vApp Options)
        3. 属性 (Properties) 表中,找到版本 (VERSION)项并记录其默认值 (Default Value)。例如,v1.26.8+vmware.1-tkg.1-0edd4dafbefbdb503f64d5472e500cf8
      • 要使用 govc CLI 检索操作系统映像版本,请运行 govc vm.info 命令。例如:

        govc vm.info -json /dc0/vm/ubuntu-2004-kube-v1.26.8+vmware.1-tkg.1 | jq
        

        在输出中,搜索 "Id": "VERSION" 并记录 "DefaultValue" 属性的值。例如:

        {
        "Key": 10,
        "ClassId": "",
        "InstanceId": "",
        "Id": "VERSION",
        "Category": "Cluster API Provider (CAPI)",
        "Label": "VERSION",
        "Type": "string",
        "TypeReference": "",
        "UserConfigurable": false,
        "DefaultValue": "v1.26.8+vmware.1-tkg.1-0edd4dafbefbdb503f64d5472e500cf8",
        "Value": "",
        "Description": ""
        }
        

构建 Linux 映像

  1. 为您的基础架构设置身份验证:

    • vSphere:创建一个凭据 JSON 文件并填写其值:

      {
      "cluster": "",
      "convert_to_template": "false",
      "create_snapshot": "true",
      "datacenter": "",
      "datastore": "",
      "folder": "",
      "insecure_connection": "false",
      "linked_clone": "true",
      "network": "",
      "password": "",
      "resource_pool": "",
      "template": "",
      "username": "",
      "vcenter_server": ""
      }
      
    • AWS:登录到 aws CLI。然后,根据提示进行身份验证并指定您的地理区域:

      aws configure
      
    • Azure:登录到 az CLI。创建一个配置 JSON 文件 azure-sig.json 并填写 Azure 特定信息。可以在此处找到此类文件的示例。

  2. projects.registry.vmware.com 下载 Linux 资源包容器:

    1. 确保您的工作站可以访问 VMware 映像注册表 projects.registry.vmware.com

    2. 使用 Image Builder 构建 Linux OVA 所需的 Kubernetes Linux 二进制文件下载并运行容器:

      docker pull projects.registry.vmware.com/tkg/linux-resource-bundle:v1.26.8_vmware.1-tkg.1
      
      docker run -d -p 3000:3000 projects.registry.vmware.com/tkg/linux-resource-bundle:v1.26.8_vmware.1-tkg.1
      
  3. 下载 Image Builder 配置目录:

    1. 确定要从中构建的 Image Builder 配置版本。

      • 在 VMware {code} Sample Exchange 中搜索 TKG Image Builder 以列出可用版本。
      • 每个 Image Builder 版本都与其兼容的 Kubernetes 和 Tanzu Kubernetes Grid 版本相对应。例如,TKG-Image-Builder-for-Kubernetes-v1_26_8---vmware_1-tkg_v2_3_1.zip 为 Tanzu Kubernetes Grid v2.3.1 构建了 Kubernetes v1.26.8 映像。
      • 如果需要创建管理集群(在首次安装 Tanzu Kubernetes Grid 时必须执行此操作),请选择 Tanzu Kubernetes Grid 版本的默认 Kubernetes 版本。例如,在 Tanzu Kubernetes Grid v2.3.1 中,默认 Kubernetes 版本为 v1.26.8。对于工作负载集群,除了 v1.26.8 之外,还可以构建 Kubernetes v1.25.13 或 v1.24.17。

      以下步骤介绍了如何为 Tanzu Kubernetes Grid v2.3.1 构建 Kubernetes v1.26.8 映像。

    2. 下载配置代码 zip 文件,然后解压缩其内容。

    3. cdTKG-Image-Builder- 目录中,以便 tkg.json 文件位于当前目录中。

  4. vSphere 对于 vSphere,请在 Image Builder 目录中创建一个 metadata.json 文件,该文件会将版本字符串设置为与后面的步骤中自定义 TKr 中列出的内容相匹配:

    • 基于类:使用您在上述步骤检索操作系统映像版本检索的值,例如:

      {
      "VERSION": "v1.26.8+vmware.1-tkg.1-0edd4dafbefbdb503f64d5472e500cf8"
      }
      
    • 基于计划:Image-builder 会为 OVA 提供它创建的与 VMware 发布的 OVA 相同的版本字符串,如 v1.26.8+vmware.1-tkg.1。对于自定义映像,VMware 建议将 -tkg.1 替换为对您的组织有意义的字符串,例如:

      {
      "VERSION": "v1.26.8+vmware.1-myorg.0"
      }
      
  5. 编辑 tkg.json 文件以填写 containerd_urlkubernetes_http_source<IP><PORT> 设置和定义,其中:

    • IP 对应于运行 Docker 容器的计算机的 IP。
    • PORT 将 Docker 主机上的未使用端口与容器上的端口 3000 关联,例如 3001:3000。容器通过端口 3000 公开工件。
  6. 要包含以下选项,请继续编辑 tkg.json 文件:

    • Photon:如果构建 Photon-3 OVA,请在tkg.json 中编辑 "extra_rpms",以反映支持的其他自定义软件包:

      "extra_rpms": "sysstat nfs-utils ethtool apparmor-parser"
      
    • STIG 和 CIS 强化:要在默认级别上强化自定义 Ubuntu 映像,请执行以下操作:

      1. 添加一行,将以下部分或全部变量 ansible_user_vars 设置为 true。以下变量默认为 false

      2. STIG:

        • install_aide - 激活 AIDE(高级入侵检测环境)
        • install_sshd_login_banner - 安装 DoD 登录横幅
        • remove_existing_ca_certs - 保留 DoD PKI 基础架构
        • install_audispd_plugins - 安装事件多路复用器 (audispd) 插件
      3. CIS:

        • install_aide - 激活 AIDE(高级入侵检测环境)
        • install_clamav - 激活 ClamAV AntiVirus
        • install_systemd_timesyncd - 使用 timesyncd 而不是 chrony
        • install_protect_kernel_defaults - 设置上游内核保护默认值
      4. 通过为 STIG 添加 /home/imagebuilder/stig_ubuntu_2004 或为 CIS 添加 /home/imagebuilder/cis_ubuntu_2004 来修改 custom_role_names 设置。

      例如,对于其他 CIS 强化:

        "ansible_user_vars": "install_aide=true install_clamav=true install_systemd_timesyncd=true install_protect_kernel_defaults=true",
        "custom_role_names": "/home/imagebuilder/tkg /home/imagebuilder/cis_ubuntu_2004",
      
      注意

      不支持通过ansible_user_vars 进行其他强化的自定义 Photon 映像。

    • FIPS:要构建启用 FIPS 的映像,请删除以下设置,如存在:

      "ansible_user_vars": "install_fips=no"
      
    • Internet 受限:要为通过 HTTP 代理服务器访问 Internet 的 Internet 受限环境构建映像,请添加以下内容:

      "http_proxy": "http://proxy.acme.com:80",
      "https_proxy": "http://proxy.acme.com:80",
      "no_proxy": "localhost, 127.0.0.1, acme.com, 10.0.0.0/8"
      
    • 启用了 GPU 的集群:要为启用了 GPU 的集群构建映像,请添加以下内容:

      "vmx_version": "17"
      

    您可以向 tkg.json 添加其他自定义或将它们放在单独的,customizations.json 文件中。

  7. 收集以下参数字符串以在下一步中插入 docker 命令。其中许多参数指定 docker run -v 参数,用于将当前工作目录复制到用于构建映像的容器的 /home/imagebuilder 目录中。

    • AUTHENTICATION:复制本地 CLI 目录。适用情况:
      • vSphere:/PATH/TO/CREDENTIALS.json:/home/imagebuilder/vsphere.json
      • AWS:~/.aws:/home/imagebuilder/.aws
      • Azure:~/.azure:/home/imagebuilder/.azure
    • SOURCES:复制存储库的 tkg.json 文件,其中列出了已版本化操作系统、Kubernetes、容器网络接口 (CNI) 映像的下载源:
      • 使用 /PATH/TO/tkg.json:/home/imagebuilder/tkg.json
    • ROLES:存储库的 tkg 目录,其中包含 Image Builder 所需的 Ansible 角色。
      • 使用 /PATH/TO/tkg:/home/imagebuilder/tkg
    • TESTS:复制专为映像的目标基础架构、操作系统和 Kubernetes 版本设计的 goss 测试目录:
      • 使用存储库的 goss 目录中文件的文件名。
      • 示例:amazon-ubuntu-1.26.8+vmware.1-goss-spec.yaml
    • CUSTOMIZATIONS:复制 JSON 格式的自定义文件。
      • 请参见 Image Builder 文档中的自定义
      • 在进行任何修改之前,请咨询 VMware 客户可靠性工程 (CRE) 以了解最佳做法和建议。
    • PACKER_VAR_FILES:上面的 JSON 文件的空格分隔列表,其中包含适用于 Packer 的变量。
    • (Azure) AZURE-CREDS:Azure 凭据文件的路径,如 Image Builder 文档中所述。
    • COMMAND:根据自定义映像操作系统,使用如下命令之一。对于 vSphere 和 Azure 映像,命令以 build-node-ova-build-azure-sig- 开头:
      • build-ami-ubuntu-2004:Ubuntu v20.04
      • build-ami-ubuntu-1804:Ubuntu v18.04
      • build-ami-amazon-2:Amazon Linux 2
      • build-node-ova-vsphere-ubuntu-2004:启用了 GPU 的集群
  8. 使用上述字符串,在从 VMware 注册表 projects.registry.vmware.com 中提取的 Docker 容器中运行 Image Builder

    如果您不是为 vSphere 和env-file 构建映象,如果您不是为 Azure 构建映像,请忽略 metadata.json

    export ROLES="... the value for roles you created above"
    export SOURCES="... ..." 
    docker run -it --rm \
        -v $AUTHENTICATION \
        -v $SOURCES \
        -v $ROLES \
        -v /PATH/TO/goss/TESTS.yaml:/home/imagebuilder/goss/goss.yaml \
        -v /PATH/TO/metadata.json:/home/imagebuilder/metadata.json \
        -v /PATH/TO/CUSTOMIZATIONS.json:/home/imagebuilder/CUSTOMIZATIONS.json \
        --env PACKER_VAR_FILES="tkg.json CUSTOMIZATIONS.json" \
        --env-file AZURE-CREDS \
        --env IB_OVFTOOL=1 \
        projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
        COMMAND
    
    注意

    此命令可能需要几分钟才能完成。

    示例

    vSphere.ova 文件将保存到工作站的本地文件系统中。无论您希望将这些 OVA 保存在哪个文件夹中,都应挂载到容器内的 /home/imagebuilder/output 中。然后,使用容器映像创建 OVA:

    docker run -it --rm \
      -v /PATH/TO/CREDENTIALS.json:/home/imagebuilder/vsphere.json \
      -v $(pwd)/tkg.json:/home/imagebuilder/tkg.json \
      -v $(pwd)/tkg:/home/imagebuilder/tkg \
      -v $(pwd)/goss/vsphere-ubuntu-1.26.8+vmware.1-goss-spec.yaml:/home/imagebuilder/goss/goss.yaml \
      -v $(pwd)/metadata.json:/home/imagebuilder/metadata.json \
      -v /PATH/TO/OVA/DIR:/home/imagebuilder/output \
      --env PACKER_VAR_FILES="tkg.json vsphere.json" \
      --env OVF_CUSTOM_PROPERTIES=/home/imagebuilder/metadata.json \
      --env IB_OVFTOOL=1 \
      projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
      build-node-ova-vsphere-ubuntu-2004
    

    启用了 GPU 的集群:在运行命令创建 OVA 时,包括在上述步骤中创建的 customizations.json 文件。

    docker run -it --rm \
      -v /PATH/TO/CREDENTIALS.json:/home/imagebuilder/vsphere.json \
      -v $(pwd)/tkg.json:/home/imagebuilder/tkg.json \
      -v $(pwd)/tkg:/home/imagebuilder/tkg \
      -v $(pwd)/goss/vsphere-ubuntu-1.26.8+vmware.1-goss-spec.yaml:/home/imagebuilder/goss/goss.yaml \
      -v $(pwd)/metadata.json:/home/imagebuilder/metadata.json \
      -v $(pwd)/customizations.json:/home/imagebuilder/customizations.json \
      -v /PATH/TO/OVA/DIR:/home/imagebuilder/output \
      --env PACKER_VAR_FILES="tkg.json vsphere.json customizations.json" \
      --env OVF_CUSTOM_PROPERTIES=/home/imagebuilder/metadata.json \
      --env IB_OVFTOOL=1 \
      projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
      build-node-ova-vsphere-ubuntu-2004
    

    RHEL:要构建 RHEL OVA,您需要使用 Linux 计算机,而不是 macOS,因为 macOS 上的 Docker 不支持 --network host 选项。
    您还必须将操作系统注册为获得 Red Hat 许可,并通过将以下内容添加到上面的 docker run 命令来注册更新:

      -v $(pwd)/isos/rhel-8.4-x86_64-dvd.iso:/rhel-8.4-x86_64-dvd.iso \
      --network host \
      --env RHSM_USER=USER --env RHSM_PASS=PASS
    

    其中:

    • RHSM_USERRHSM_PASS 是 Red Hat Subscription Manager 帐户的用户名和密码。
    • 您可以在上面的示例中映射本地 RHEL ISO 路径 $(pwd)/isos/rhel-8.4-x86-64-dvd.iso 作为附加卷。

    AWS:使用 Ubuntu v20.04 和 Kubernetes v1.26.8 创建自定义映像以在 AWS 上运行,请从包含 tkg.json 的目录运行:

    docker run -it --rm \
        -v ~/.aws:/home/imagebuilder/.aws \
        -v $(pwd)/tkg.json:/home/imagebuilder/tkg.json \
        -v $(pwd)/tkg:/home/imagebuilder/tkg \
        -v $(pwd)/goss/amazon-ubuntu-1.26.8+vmware.1-goss-spec.yaml:/home/imagebuilder/goss/goss.yaml \
        -v /PATH/TO/CUSTOMIZATIONS.json /home/imagebuilder/aws.json \
        --env PACKER_VAR_FILES="tkg.json aws.json" \
        --env IB_OVFTOOL=1 \
        projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
        build-ami-ubuntu-2004
    
  9. 将映像上载到云提供程序。

    • 有关 vSphere 说明,请参见《将准备部署管理集群到 vSphere》中的将基础映像模板导入到 vSphere
    • 如果您将目标 Kubernetes 版本的默认 Ubuntu OVA 上载到 vSphere,请在上载自定义 OVA 之前删除默认 OVA。

为 Linux 映像创建 TKr

要将 Linux 映像设置为未来 Kubernetes 版本的默认映像,请基于该映像创建 TKr。否则,请跳到下面的将 Linux 映像用于工作负载集群

下图简要概述了如何在 vSphere 上为自定义 Linux 映像创建 TKr。

创建 TKr

要创建 TKr,请执行以下操作:

  1. ~/.config/tanzu/tkg/bom/ 目录中,打开与自定义映像的 Kubernetes 版本对应的 TKr BoM。例如,Kubernetes v1.26.8 的文件名类似 tkr-bom-v1.26.8+vmware.1-tkg.1.yaml

    如果目录缺少所需的 TKr BoM 文件,您可以通过部署具有所需 Kubernetes 版本的集群来将其引入,如部署具有非默认 Kubernetes 版本的集群中所述。

    1. 在 Bom 文件中,找到基础架构的映像定义块:ova 对应于 vSphere、ami 对应于 AWS,azure 对应于 Azure。每个映像定义块都包含 osinfo.nameosinfo.versionosinfo.arch,其中:

      • osinfo.name 是操作系统名称。例如,ubuntu。要查看支持的操作系统列表,请参见目标操作系统
      • osinfo.version 是操作系统版本。例如,20.04。要查看支持的版本的列表,请参见目标操作系统
      • osinfo.arch 是操作系统架构。支持的值为 amd64
    2. 要添加新操作系统映像的引用,请在 ovaamiazure 下添加映像定义块,具体取决于您的目标基础架构。如上所述,映像定义块必须包含 osinfo.nameosinfo.versionosinfo.arch。此外,在以下项上添加映像定义块时:

      • vSphere:

        • name:包含操作系统版本的唯一 OVA 名称,例如 my-ova-ubuntu-2004
        • version: 在创建 OVA 时使用 metadata.json 中分配的唯一 VERSION,例如 v1.26.8+vmware.1-myorg.0
        注意

        version 必须与 metadata.json 中的相同 VERSION 完全匹配。

      • AWS:对于计划在其中使用自定义映像的每个地理区域,请遵循现有的 id 值格式,但在末尾使用唯一的十六进制字符串,例如 ami-693a5e2348b25e428

      如果 BoM 文件在地理区域下定义映像,则必须先在其地理区域中列出自定义映像定义块。在每个地理区域内,集群创建过程将选择列出的第一个合适的映像。

    3. release.version 值中,通过添加后缀设置自定义版本。请勿通过添加前缀来自定义版本。例如,将 v1.26.8+vmware.1-tkg.1 更改为 v1.26.8+vmware.1-tkg.1-mycustomtkr

    4. 使用您在上一步中为 release.version 指定的相同自定义后缀保存 Bom 文件。

      如果文件名包含加号 (+) 字符,请将 + 替换为三重短划线 (---)。

      例如,将 BOM 文件另存为 tkr-bom-v1.26.8---vmware.2-tkg.1-mycustomtkr.yaml

  2. base64-将文件内容编码为二进制字符串,例如:

    cat tkr-bom-v1.26.8---vmware.2-tkg.1-mycustomtkr.yaml | base64 -w 0
    
  3. 创建 ConfigMap YAML 文件(例如,名为 configmap-v1.26.8---vmware.2-tkg.1-mycustomtkr.yaml),其中的值如下所示:

    apiVersion: v1
    kind: ConfigMap
    metadata:
     name: CUSTOM-TKG-BOM
     labels:
       tanzuKubernetesRelease: CUSTOM-TKR
    binaryData:
     bomContent: "BOM-BINARY-CONTENT"
    

    其中:

    • CUSTOM-TKG-BOMConfigMap 的名称,它必须包含在 BOM 文件中指定的 TKr release.version 值,并将任何 + 符号替换为三重短划线 (—)。例如,设置 v1.26.8---vmware.2-tkg.1-mycustomtkr
    • CUSTOM-TKR 是 TKr 的名称,它必须与您为 CUSTOM-TKG-BOM 指定的值相匹配。例如,v1.26.8---vmware.2-tkg.1-mycustomtkr
    • BOM-BINARY-CONTENT 是您在上一步中生成的自定义 BoM 文件的 base64 编码内容。

    例如:

    apiVersion: v1
    kind: ConfigMap
    metadata:
     name: v1.26.8---vmware.2-tkg.1-mycustomtkr
     labels:
       tanzuKubernetesRelease: v1.26.8---vmware.2-tkg.1-mycustomtkr
    binaryData:
     bomContent: "YXBpVmVyc2lvbjogcnVuLnRhbnp1...."
    
  4. 保存 ConfigMap 文件,将 kubectl 上下文设置为 TKr 添加目标的管理集群,并将该文件应用于集群,例如:

    kubectl -n tkr-system apply -f configmap-v1.26.8---vmware.2-tkg.1-mycustomtkr.yaml
    

    TKr 控制器通过创建 TanzuKubernetesRelease 来协调新的 ConfigMap 对象。默认协调周期为 600 秒。您可以通过删除 TKr 控制器 pod 来避免此延迟,这会立即还原和协调 pod:

    1. 列出 tkr-system 命名空间中的 Pod:

      kubectl get pod -n tkr-system
      
    2. 检索 TKr 控制器 pod 的名称,该名称类似于 tkr-controller-manager-f7bbb4bd4-d5lfd

    3. 删除 Pod:

      kubectl delete pod -n tkr-system TKG-CONTROLLER
      

      其中,TKG-CONTROLLER 是 TKr 控制器 Pod 的名称。

  5. 要检查是否添加了自定义 TKr,请运行tanzu kubernetes-release getkubectl get tkr,然后查找在输出中设置的 CUSTOM-TKR 值。

自定义 TKr 由 kubectltanzu CLI 列出后,您可以用其创建管理集群或工作负载集群,如下所述。

将 Linux 映像用于管理集群

要创建将自定义映像用作其节点的基础操作系统的管理集群,请执行以下操作:

  1. 运行安装程序界面时,请在操作系统映像窗格中选择自定义映像,如选择基础操作系统映像中所述。

有关详细信息,请参见如何生成基础操作系统映像选择

将 Linux 映像用于工作负载集群

从 Linux 映像创建工作负载集群的过程有所不同,具体取决于您是否在上面的为 Linux 映像创建 Tkr 中创建了 TKr。

  • 如果创建了 TKr,请将 tanzu kubernetes-release get 列出的 TKr 名称传递到 tanzu cluster create--tkr 选项。

  • 如果未创建 TKr,请执行以下操作:

    1. 复制管理集群配置文件,并按照配置文件和对象规范中的过程使用新名称保存该文件。

    2. 在新配置文件中,添加或修改以下内容:

      VSPHERE_TEMPLATE: LINUX-IMAGE
      

      其中,LINUX-IMAGE 是您在构建 Linux 映像中创建的 Linux 映像的名称。

      移除 CLUSTER_NAME 及其设置(如果存在)。

    3. 按照创建工作负载集群中所述部署工作负载集群。

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