配置文件变量参考

此参考列出了可以为 Tanzu CLI 提供集群配置选项而指定的所有变量。

要在 YAML 配置文件中设置这些变量,请在冒号 (:) 和变量值之间留一个空格。例如:

CLUSTER_NAME: my-cluster

配置文件中的行顺序无关紧要。此处的选项按字母顺序显示。另请参见下面的配置值优先级部分。

所有目标平台的常见变量

本节列出了所有目标平台通用的变量。这些变量可能适用于管理集群和/或工作负载集群。有关详细信息,请参见创建管理集群配置文件中的配置基本管理集群创建信息

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
APISERVER_EVENT_RATE_LIMIT_CONF_BASE64 仅基于类的集群。启用并配置 EventRateLimit 准入控制器,以将流量适度传输到 Kubernetes API 服务器。按照 Kubernetes 文档中所述通过创建 EventRateLimit 配置文件 config.yaml 设置此属性,然后通过运行 base64 -w 0 config.yaml 将其转换为字符串值
CAPBK_BOOTSTRAP_TOKEN_TTL 可选;默认为 15m、15 分钟。在集群初始化操作期间 kubeadm 使用的引导令牌的 TTL 值。
CLUSTER_API_SERVER_PORT 可选;默认为 6443。如果启用 NSX Advanced Load Balancer (vSphere),则忽略此变量;为具有 NSX Advanced Load Balancer 的部署覆盖默认 Kubernetes API 服务器端口,设置 VSPHERE_CONTROL_PLANE_ENDPOINT_PORT
CLUSTER_CIDR 可选;默认为 100.96.0.0/11。要用于 pod 的 CIDR 范围。仅当默认范围不可用时才更改默认值。
CLUSTER_NAME 此名称必须符合 RFC 952 中所述的 DNS 主机名要求,并在 RFC 1123 中进行了修订,且长度不得超过 42 个字符。
对于工作负载集群,此设置将被传递到 tanzu cluster createCLUSTER_NAME 参数覆盖。
对于管理集群,如果未指定 CLUSTER_NAME,则会生成唯一名称。
CLUSTER_PLAN 必需。设置为 devprod 或自定义计划,如 新计划 nginx 所示。
dev 计划部署具有单个控制平面节点的集群。prod 计划将部署具有三个控制平面节点的高可用性集群。
CNI 可选;默认为 antrea。容器网络接口。请勿覆盖管理集群的默认值。对于工作负载集群,可以将 CNI 设置为 antreacaliconone。Windows 不支持 calico 选项。有关详细信息,请参见部署具有非默认 CNI 的集群。要自定义 Antrea 配置,请参见下面的 Antrea CNI 配置
CONTROLPLANE_CERTIFICATE_ROTATION_ENABLED 可选;默认为 false。如果希望控制平面节点虚拟机证书在证书过期之前自动续订,请设置为 true。有关详细信息,请参见控制平面节点证书自动续订
CONTROLPLANE_CERTIFICATE_ROTATION_DAYS_BEFORE 可选;默认为 90。如果 CONTROLPLANE_CERTIFICATE_ROTATION_ENABLEDtrue,请将证书过期日期之前的天数设置为自动续订集群节点证书。有关详细信息,请参见控制平面节点证书自动续订
ENABLE_AUDIT_LOGGING 可选;默认为 false。Kubernetes API 服务器的审核日志记录。要启用审核日志记录,设置为 true。Tanzu Kubernetes Grid 将这些日志写入 /var/log/kubernetes/audit.log。有关详细信息,请参见审计日志记录
启用 Kubernetes 审核可能会导致日志量非常高。要处理此数量,VMware 建议使用日志转发器,例如 Fluent Bit。
ENABLE_AUTOSCALER 可选;默认为 false。如果设置为 true,则必须在下面的 Cluster Autoscaler 表中设置其他变量。
ENABLE_CEIP_PARTICIPATION 可选;默认为 true。设置为 false 以选择退出 VMware 客户体验提升计划。您也可以在部署管理集群后选择加入或退出该计划。有关信息,请参见管理参与 CEIP客户体验提升计划 (CEIP) 中的加入或退出 VMware CEIP
ENABLE_DEFAULT_STORAGE_CLASS 可选;默认为 true。有关存储类的信息,请参见动态存储
ENABLE_MHC 可选;请参见下面的计算机运行状况检查以了解完整的 MHC 变量及其工作方式。
对于 vSphere with Tanzu 创建的工作负载集群,请将 ENABLE_MHC 设置为 false
IDENTITY_MANAGEMENT_TYPE 可选;默认为 none

对于管理集群:oidcldap 设置为启用,需要其他 OIDC 或 LDAP 设置,如下面的身份提供程序 - OIDCLDAP 表中所列。
省略或设置为 none 以停用身份管理。强烈建议为生产部署启用身份管理。
注意 您无需在配置文件中为工作负载集群配置 OIDC 或 LDAP 设置。

INFRASTRUCTURE_PROVIDER 必需。设置为 vsphereawsazuretkg-service-vsphere
NAMESPACE 可选;默认为 default,以将工作负载集群部署到名为 default 的命名空间。
SERVICE_CIDR 可选;默认为 100.64.0.0/13。要用于 Kubernetes 服务的 CIDR 范围。仅当默认范围不可用时才更改此值。

身份提供程序 - OIDC

如果设置 IDENTITY_MANAGEMENT_TYPE: oidc,请设置以下变量以配置 OIDC 身份提供程序。有关更多信息,请参见创建管理集群配置文件中的配置身份管理

Tanzu Kubernetes Grid 使用 Pinniped 与 OIDC 集成,如关于身份和访问管理中所述。

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
CERT_DURATION 可选;默认为 2160h。如果将 Pinniped 配置为使用由 cert-manager 管理的自签名证书,请设置此变量。
CERT_RENEW_BEFORE 可选;默认为 360h。如果将 Pinniped 配置为使用由 cert-manager 管理的自签名证书,请设置此变量。
OIDC_IDENTITY_PROVIDER_CLIENT_ID 必需。从 OIDC 提供程序获取的 client_id 值。例如,如果您的提供程序是 Okta,请登录到 Okta,创建一个 Web 应用程序,然后选择客户端凭据选项以获取 client_idsecret。此设置将存储在一个密钥中,该密钥将由 Pinniped OIDCIdentityProvider 自定义资源的 OIDCIdentityProvider.spec.client.secretName 引用。
OIDC_IDENTITY_PROVIDER_CLIENT_SECRET 必需。从 OIDC 提供程序获取的 secret 值。不要对此值进行 base64 编码。
OIDC_IDENTITY_PROVIDER_GROUPS_CLAIM 可选。您的组声明的名称。这用于在 JSON Web令牌 (JWT) 声明中设置用户组。默认值为 groups。此设置对应于 Pinniped OIDCIdentityProvider 自定义资源的 OIDCIdentityProvider.spec.claims.groups
OIDC_IDENTITY_PROVIDER_ISSUER_URL 必需。OIDC 服务器的 IP 或 DNS 地址。此设置对应于 Pinniped OIDCIdentityProvider.spec.issuer 中的 custom resource
OIDC_IDENTITY_PROVIDER_SCOPES 必需。令牌响应中要请求的其他范围的逗号分隔列表。例如,"email,offline_access"。此设置对应于 Pinniped OIDCIdentityProvider 自定义资源的 OIDCIdentityProvider.spec.authorizationConfig.additionalScopes
OIDC_IDENTITY_PROVIDER_USERNAME_CLAIM 必需。用户名声明的名称。这用于在 JWT 声明中设置用户的用户名。根据您的提供商,输入声明,例如 user_nameemailcode。此设置对应于 Pinniped OIDCIdentityProvider 自定义资源的 OIDCIdentityProvider.spec.claims.username
OIDC_IDENTITY_PROVIDER_ADDITIONAL_AUTHORIZE_PARAMS 可选。添加要发送到 OIDC 身份提供程序的自定义参数。根据您的提供商,可能需要这些声明才能从提供程序接收刷新令牌。例如,prompt=consent。使用逗号分隔多个值。此设置对应于 Pinniped OIDCIdentityProvider 自定义资源的 OIDCIdentityProvider.spec.authorizationConfig.additionalAuthorizeParameters
OIDC_IDENTITY_PROVIDER_CA_BUNDLE_DATA_B64 可选。Base64 编码的 CA 包,用于与 OIDC 身份提供程序建立 TLS。此设置对应于 Pinniped OIDCIdentityProvider 自定义资源的 OIDCIdentityProvider.spec.tls.certificateAuthorityData
SUPERVISOR_ISSUER_URL 不修改。运行 tanzu cluster create command 命令时,将在配置文件中自动更新此变量。此设置与 Pinniped JWTAuthenticator 自定义资源中的 JWTAuthenticator.spec.audience 和 Pinniped FederationDomain 自定义资源中的 FederationDomain.spec.issuer 相对应。
SUPERVISOR_ISSUER_CA_BUNDLE_DATA_B64 不修改。运行 tanzu cluster create command 命令时,将在配置文件中自动更新此变量。此设置对应于 Pinniped JWTAuthenticator 自定义资源的 JWTAuthenticator.spec.tls.certificateAuthorityData

身份提供程序 - LDAP

如果设置 IDENTITY_MANAGEMENT_TYPE: ldap,请设置以下变量以配置 LDAP 身份提供程序。有关更多信息,请参见创建管理集群配置文件中的配置身份管理

Tanzu Kubernetes Grid 使用 Pinniped 与 LDAP 集成,如关于身份和访问管理中所述。以下每个变量都与 Pinniped LDAPIdentityProvider 自定义资源中的配置设置相对应。有关这些设置的完整描述以及如何配置这些设置的信息,请参见 Pinniped 文档中的 LDAPIdentityProvider

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
对于与 LDAP 服务器的连接:
LDAP_HOST 必需。LDAP 服务器的 IP 或 DNS 地址。如果 LDAP 服务器正在侦听默认端口 636(即安全配置),则无需指定端口。如果 LDAP 服务器正在侦听其他端口,请提供 LDAP 服务器的地址和端口,格式为 “host:port”。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.host
LDAP_ROOT_CA_DATA_B64 可选。如果使用的是 LDAPS 端点,请粘贴 LDAP 服务器证书的 Base64 编码内容。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.tls.certificateAuthorityData
LDAP_BIND_DN 必需。现有应用程序服务帐户的 DN。例如,“cn=bind-user,ou=people,dc=example,dc=com”。连接器使用这些凭据搜索用户和组。此服务帐户必须至少具有只读权限才能执行由其他 LDAP_* 配置选项配置的查询。包含在 Pinniped LDAPIdentityProvider 自定义资源中的 spec.bind.secretName 秘钥中。
LDAP_BIND_PASSWORD 必需。LDAP_BIND_DN 中设置的应用程序服务帐户的密码。包含在 Pinniped LDAPIdentityProvider 自定义资源中的 spec.bind.secretName 秘钥中。
对于用户搜索:
LDAP_USER_SEARCH_BASE_DN 必需。开始 LDAP 搜索的点。例如,OU=Users,OU=domain,DC=io。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.userSearch.base
LDAP_USER_SEARCH_FILTER 可选。LDAP 搜索要使用的可选筛选器。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.userSearch.filter。从 TKG v2.3 开始,在创建管理集群或更新现有管理集群的 Pinniped 软件包密钥时,您必须对此值使用 Pinniped 格式。例如,&(objectClass=posixAccount)(uid={})
LDAP_USER_SEARCH_ID_ATTRIBUTE 可选。包含用户 ID 的 LDAP 属性。默认为 dn。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.userSearch.attributes.uid
LDAP_USER_SEARCH_NAME_ATTRIBUTE 必需。保存用户的名称的 LDAP 属性。例如,mail。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.userSearch.attributes.username
对于组搜索:
LDAP_GROUP_SEARCH_BASE_DN 可选。开始 LDAP 搜索的点。例如,OU=Groups,OU=domain,DC=io。如果未设置,将跳过组搜索。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.groupSearch.base
LDAP_GROUP_SEARCH_FILTER 可选。LDAP 搜索要使用的可选筛选器。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.groupSearch.filer。从 TKG v2.3 开始,在创建管理集群或更新现有管理集群的 Pinniped 软件包密钥时,您必须对此值使用 Pinniped 格式。例如,&(objectClass=posixGroup)(memberUid={})
LDAP_GROUP_SEARCH_NAME_ATTRIBUTE 可选。保存组名称的 LDAP 属性。默认为 dn。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.groupSearch.attributes.groupName
LDAP_GROUP_SEARCH_USER_ATTRIBUTE 可选。用户记录的属性,用作组记录的成员资格属性的值。默认为 dn。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.groupSearch.userAttributeForFilter
LDAP_GROUP_SEARCH_SKIP_ON_REFRESH 可选。默认为 false。设置为 true 时,用户的组成员资格仅在用户每日会话开始时更新。建议不要将 LDAP_GROUP_SEARCH_SKIP_ON_REFRESH 设置为 true,只有在无法使组查询足够快以在会话刷新期间运行时才应进行此设置。此设置对应于 Pinniped LDAPIdentityProvider 自定义资源的 LDAPIdentityProvider.spec.groupSearch.skipGroupRefresh

节点配置

配置控制平面和工作节点,以及节点实例运行的操作系统。有关详细信息,请参见创建管理集群配置文件中的配置节点设置

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
CONTROL_PLANE_MACHINE_COUNT 可选。部署控制平面节点多于默认情况下定义的 devprod 计划的工作负载集群。指定的控制平面节点数必须为奇数。
CONTROL_PLANE_NODE_LABELS 仅基于类的集群。将自定义持久标签分配至控制平面节点,例如 CONTROL_PLANE_NODE_LABELS: ‘key1=value1,key2=value2’要在基于计划的旧版集群中配置此功能,请使用 ytt 覆盖网络,如自定义节点标签中所述。
工作节点标签在其节点池中设置,如不同虚拟机类型的管理节点池中所述。
CONTROL_PLANE_NODE_NAMESERVERS 仅限 vSphere。这允许用户指定要在控制平面节点上配置的 DNS 服务器的逗号分隔列表,例如,CONTROL_PLANE_NODE_NAMESERVERS: 10.132.7.1, 10.142.7.1。在 Ubuntu 和 Photon 上受支持;在 Windows 上不受支持。有关示例用例,请参见下面的节点 IPAM
CONTROL_PLANE_NODE_SEARCH_DOMAINS 仅基于类的集群。配置集群节点的 .local 搜索域,例如,CONTROL_PLANE_NODE_SEARCH_DOMAINS: corp.local。要在 vSphere 上基于计划的旧版集群中配置此功能,请使用 ytt 覆盖网络,如 Resolve.local Domain 中所述。
CONTROLPLANE_SIZE 可选。控制平面节点虚拟机的大小。覆盖 SIZEVSPHERE_CONTROL_PLANE_ 参数。有关可能的值,请参见 SIZE
OS_ARCH 可选。节点虚拟机操作系统的架构。默认和当前选项为 amd64
OS_NAME 可选。节点虚拟机操作系统。对于 Ubuntu LTS,默认值为 ubuntu。也可以是 photon(对于 vSphere 上的 Photon OS)或 amazon(对于 AWS 上的 Amazon Linux)。
OS_VERSION 可选OS_NAME 操作系统的版本,以上版本。对于 Ubuntu,默认值为 20.04。对于 vSphere 上的 Photon,可以是 3;对于 AWS 上的 Amazon Linux,可以是 2
SIZE 可选。控制平面虚拟机和工作节点虚拟机的大小。覆盖 VSPHERE_CONTROL_PLANE_*VSPHERE_WORKER_* 参数。对于 vSphere,请设置 smallmediumlargeextra-large,如预定义节点大小中所述。对于 AWS,请设置实例类型,例如 t3.small。对于 Azure,请设置实例类型,例如 Standard_D2s_v3
WORKER_MACHINE_COUNT 可选。部署工作负载集群,其工作节点多于 devprod 计划默认定义的值。
WORKER_NODE_NAMESERVERS 仅限 vSphere。这允许用户指定要在工作节点上配置的 DNS 服务器的逗号分隔列表,例如,WORKER_NODE_NAMESERVERS: 10.132.7.1, 10.142.7.1。在 Ubuntu 和 Photon 上受支持;在 Windows 上不受支持。有关示例用例,请参见下面的节点 IPAM
WORKER_NODE_SEARCH_DOMAINS 仅基于类的集群。配置集群节点的 .local 搜索域,例如,CONTROL_PLANE_NODE_SEARCH_DOMAINS: corp.local。要在 vSphere 上基于计划的旧版集群中配置此功能,请使用 ytt 覆盖网络,如 Resolve.local Domain 中所述。
WORKER_SIZE 可选。工作节点虚拟机的大小。覆盖 VSPHERE_WORKER_SIZE 和 参数。有关可能的值,请参见 SIZE
CUSTOM_TDNF_REPOSITORY_CERTIFICATE (技术预览版)

可选。如果使用具有自签名证书的自定义 tdnf 存储库服务器,而不是 Photon 默认 tdnf 存储库服务器,请进行设置。输入 tdnf 存储库服务器的 base64 编码证书的内容。

它将删除 /etc/yum.repos.d/ 下的所有存储库,并使 TKG 节点信任该证书。

Pod 安全准入控制器的 Pod 安全标准

为集群范围的 Pod 安全准入 (PSA) 控制器配置 Pod 安全标准。控制平面和工作节点,以及节点实例运行的操作系统。有关详细信息,请参见 Pod 安全准入控制器

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
POD_SECURITY_STANDARD_AUDIT 可选,默认为 restricted。为集群范围 PSA 控制器的 audit 模式设置安全策略。可能值:restrictedbaselineprivileged
POD_SECURITY_STANDARD_DEACTIVATED 可选,默认为 false。设置为 true 以停用集群范围的 PSA。
POD_SECURITY_STANDARD_ENFORCE 可选,默认为无值。为集群范围 PSA 控制器的 enforce 模式设置安全策略。可能值:restrictedbaselineprivileged
POD_SECURITY_STANDARD_WARN 可选,默认为 restricted。为集群范围 PSA 控制器的 warn 模式设置安全策略。可能值:restrictedbaselineprivileged

Kubernetes 优化(仅限基于类的集群)

Kubernetes API 服务器、Kubelets 和其他组件公开了各种用于优化的配置标志,例如,用于配置加密套件以进行安全强化的 --tls-cipher-suites 标记、用于增加大型集群中 etcd 超时的 --election-timeout 标记等。

重要

这些 Kubernetes 配置变量适用于高级用户。VMware 不保证使用这些设置的任意组合配置的集群的功能。

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
APISERVER_EXTRA_ARGS 仅基于类的集群。指定格式为“key1=value1;key2=value2”的 kube-apiserver 标记。例如,使用 APISERVER_EXTRA_ARGS: “tls-min-version=VersionTLS12;tls-cipher-suites=TLS_RSA_WITH_AES_256_GCM_SHA384” 设置加密套件
CONTROLPLANE_KUBELET_EXTRA_ARGS 仅基于类的集群。指定格式为“key1=value1;key2=value2”的控制平面 kubelet 标记。例如,使用 CONTROLPLANE_KUBELET_EXTRA_ARGS: “max-pods=50” 限制控制平面 Pod 的数量
ETCD_EXTRA_ARGS 仅基于类的集群。指定“key1=value1;key2=value2”格式的 etcd 标记。例如,如果集群有 500 多个节点,或者存储性能不好,可以使用 ETCD_EXTRA_ARGS: “heartbeat-interval=300;election-timeout=2000” 增加 heartbeat-intervalelection-timeout
KUBE_CONTROLLER_MANAGER_EXTRA_ARGS 仅基于类的集群。指定格式为“key1=value1;key2=value2”的 kube-controller-manager 标记。例如,使用 KUBE_CONTROLLER_MANAGER_EXTRA_ARGS: “profiling=false” 关闭性能配置处理
KUBE_SCHEDULER_EXTRA_ARGS 仅基于类的集群。指定格式为“key1=value1;key2=value2”的 kube-scheduler 标记。例如,使用 KUBE_SCHEDULER_EXTRA_ARGS: “feature-gates=ReadWriteOncePod=true” 启用单 Pod 访问模式
WORKER_KUBELET_EXTRA_ARGS 仅基于类的集群。使用格式为“key1=value1;key2=value2”的工作线程 kubelet 标记。例如,使用 WORKER_KUBELET_EXTRA_ARGS: “max-pods=50” 限制工作线程 Pod 的数量

Cluster Autoscaler

如果 ENABLE_AUTOSCALER 设置为 true,则以下其他变量可供配置。有关 Cluster Autoscaler 的信息,请参见扩展工作负载集群

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
AUTOSCALER_MAX_NODES_TOTAL 可选;默认为 0。集群、工作线程和控制平面中的最大节点总数。设置 Cluster Autoscaler 参数 max-nodes-total 的值。Cluster Autoscaler 不会尝试扩展超出此限制的集群。如果设置为 0,Cluster Autoscaler 将根据您配置的最小和最大 SIZE 设置做出扩展决策。
AUTOSCALER_SCALE_DOWN_DELAY_AFTER_ADD 可选;默认为 10m。设置 Cluster Autoscaler 参数 scale-down-delay-after-add 的值。Cluster Autoscaler 在纵向扩展操作后等待,然后恢复纵向缩减扫描的时间。
AUTOSCALER_SCALE_DOWN_DELAY_AFTER_DELETE 可选;默认为 10s。设置 Cluster Autoscaler 参数 scale-down-delay-after-delete 的值。Cluster Autoscaler 在删除节点后恢复横向缩减扫描后等待的时间。
AUTOSCALER_SCALE_DOWN_DELAY_AFTER_FAILURE 可选;默认为 3m。设置 Cluster Autoscaler 参数 scale-down-delay-after-failure 的值。Cluster Autoscaler 在横向缩减失败后等待,然后恢复横向缩减扫描的时间。
AUTOSCALER_SCALE_DOWN_UNNEEDED_TIME 可选;默认为 10m。设置 Cluster Autoscaler 参数 scale-down-unneeded-time 的值。在横向缩减符合条件的节点之前 Cluster Autoscaler 必须等待的时间。
AUTOSCALER_MAX_NODE_PROVISION_TIME 可选;默认为 15m。设置 Cluster Autoscaler 参数 max-node-provision-time 的值。Cluster Autoscaler 等待置备节点的最长时间。
AUTOSCALER_MIN_SIZE_0 必需,所有 IaaS。最小工作节点数。Cluster Autoscaler 不会尝试横向缩减低于此限制的节点。对于 AWS 上的 prod 集群,AUTOSCALER_MIN_SIZE_0 设置第一个 AZ 中的最小工作节点数。如果未设置,则对于具有单个工作节点的集群,默认为 WORKER_MACHINE_COUNT 值;对于具有多个工作节点的集群,默认为 WORKER_MACHINE_COUNT_0 值。
AUTOSCALER_MAX_SIZE_0 必需,所有 IaaS。最大工作节点数。Cluster Autoscaler 不会尝试横向扩展超过此限制的节点。对于 AWS 上的 prod 集群,AUTOSCALER_MAX_SIZE_0 设置第一个 AZ 中的最大工作节点数。如果未设置,则对于具有单个工作节点的集群,默认为 WORKER_MACHINE_COUNT 值;对于具有多个工作节点的集群,默认为 WORKER_MACHINE_COUNT_0 值。
AUTOSCALER_MIN_SIZE_1 必需,仅适用于 AWS 上的 prod 集群。第二个 AZ 中的最小工作节点数。Cluster Autoscaler 不会尝试横向缩减低于此限制的节点。如果未设置,则默认为 WORKER_MACHINE_COUNT_1 的值。
AUTOSCALER_MAX_SIZE_1 必需,仅适用于 AWS 上的 prod 集群。第二个 AZ 中的最大工作节点数。Cluster Autoscaler 不会尝试横向扩展超过此限制的节点。如果未设置,则默认为 WORKER_MACHINE_COUNT_1 的值。
AUTOSCALER_MIN_SIZE_2 必需,仅适用于 AWS 上的 prod 集群。第三个 AZ 中的最小工作节点数。Cluster Autoscaler 不会尝试横向缩减低于此限制的节点。如果未设置,则默认为 WORKER_MACHINE_COUNT_2 的值。
AUTOSCALER_MAX_SIZE_2 必需,仅适用于 AWS 上的 prod 集群。第三个 AZ 中的最大工作节点数。Cluster Autoscaler 不会尝试横向扩展超过此限制的节点。如果未设置,则默认为 WORKER_MACHINE_COUNT_2 的值。

代理配置

如果您的环境受 Internet 限制或包含代理,则可以选择配置 Tanzu Kubernetes Grid 以将来自 kubeletcontainerd 和控制平面的出站 HTTP 和 HTTPS 流量发送到代理。

Tanzu Kubernetes Grid 允许为以下任一项启用代理:

  • 对于管理集群以及一个或多个工作负载集群
  • 仅适用于管理集群
  • 对于一个或多个工作负载集群

有关详细信息,请参见创建管理集群配置文件中的配置代理

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
TKG_HTTP_PROXY_ENABLED

可选,要将出站 HTTP(S) 流量从管理集群发送到代理(例如在 Internet 受限的环境中),请将此项设置为 true

TKG_HTTP_PROXY

可选,如果要配置代理,则设置此选项;要停用单个集群的代理配置,请将此项设置为 "“。仅当 TKG_HTTP_PROXY_ENABLED = true 时适用。HTTP 代理的 URL,格式如下:PROTOCOL://USERNAME:PASSWORD@FQDN-OR-IP:PORT,其中:

  • 必需PROTOCOLhttp
  • 可选USERNAMEPASSWORD 是 HTTP 代理用户名和密码。如果代理需要身份验证,请包括这些属性。
  • 必需FQDN-OR-IPPORT 是 HTTP 代理的 FQDN 或 IP 地址和端口号。

例如,http://user:[email protected]:1234http://myproxy.com:1234。如果设置 TKG_HTTP_PROXY,还必须设置 TKG_HTTPS_PROXY

TKG_HTTPS_PROXY 可选,如果要配置代理,则设置此选项。仅当 TKG_HTTP_PROXY_ENABLED = true 时适用。HTTPS 代理的 URL。您可以将此变量设置为与 TKG_HTTP_PROXY 相同的值,也可以提供不同的值。URL 必须以 http:// 开头。如果设置 TKG_HTTPS_PROXY,还必须设置 TKG_HTTP_PROXY
TKG_NO_PROXY

可选。仅当 TKG_HTTP_PROXY_ENABLED = true 时适用。

一个或多个必须绕过 HTTP(S) 代理的网络 CIDR 或主机名,以逗号分隔并列出,不含空格或通配符(*)。将主机名后缀列为 .example.com,而不是 *.example.com

例如,.noproxy.example.com,noproxy.example.com,192.168.0.0/24

在内部,Tanzu Kubernetes Grid 会将 localhost127.0.0.1CLUSTER_CIDRSERVICE_CIDR 的值、.svc.svc.cluster.local 附加到您在 TKG_NO_PROXY 中设置的值。它还会附加 Azure VNET CIDR 169.254.0.0/16168.63.129.16(对于 Azure 上的部署)。对于 vSphere,必须手动将 VSPHERE_NETWORK 的 CIDR(包括控制平面端点的 IP 地址)添加到 TKG_NO_PROXY

如果将 VSPHERE_CONTROL_PLANE_ENDPOINT 设置为 FQDN,请将 FQDN 和 VSPHERE_NETWORK 同时添加到 TKG_NO_PROXY

重要信息:在 Tanzu Kubernetes Grid 在代理后运行的环境中,TKG_NO_PROXY 允许集群虚拟机直接与运行同一个代理后面的同一网络的基础架构进行通信。这可能包括但不限于基础架构、OIDC 或 LDAP 服务器、Harbor、VMware NSX 和 NSX Advanced Load Balancer (vSphere)。设置 TKG_NO_PROXY 以包括集群必须访问但代理无法访问的所有此类端点。

TKG_PROXY_CA_CERT 可选。如果代理服务器使用自签名证书,则设置此选项。提供格式为 base64 编码的 CA 证书,例如 …TKG_PROXY_CA_CERT: “LS0t[]tLS0tLQ==””
TKG_NODE_SYSTEM_WIDE_PROXY (技术预览版)

可选。将以下设置放入 /etc/environment/etc/profile

导出 HTTP_PROXY=$TKG_HTTP_PROXY
导出 HTTPS_PROXY=$TKG_HTTPS_PROXY
导出 NO_PROXY=$TKG_NO_PROXY

默认情况下,当用户通过 SSH 登录到 TKG 节点并运行命令时,命令将使用定义的变量。系统进程不受影响。

Antrea CNI 配置

如果 CNI 设置为 antrea,则设置其他可选变量。有关详细信息,请参见创建管理集群配置文件中的配置 Antrea CNI

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
ANTREA_DISABLE_UDP_TUNNEL_OFFLOAD 可选;默认为 false。设置为 true 可停用 Antrea 的 UDP 校验和卸载。将此变量设置为 true 可避免底层网络和物理 NIC 网络驱动程序的已知问题。
ANTREA_EGRESS 可选;默认为 true。启用此变量可定义用于输出集群的 Pod 流量的 SNAT IP。有关详细信息,请参见 Antrea 文档中的输出
ANTREA_EGRESS_EXCEPT_CIDRS 可选。输出的 CIDR 范围不会为出站 Pod 流量使用 SNAT。包括引号(““)。例如,“10.0.0.0/6”
ANTREA_ENABLE_USAGE_REPORTING 可选;默认为 false。激活或停用使用情况报告(遥测)。
ANTREA_FLOWEXPORTER 可选;默认为 false。设置为 true 以查看网络流量。流量导出程序定期轮询连接跟踪流量,并将流量导出为 IPFIX 流记录。有关详细信息,请参见 Antrea 文档中的 Antrea 中的网络流量可见性
ANTREA_FLOWEXPORTER_ACTIVE_TIMEOUT

可选;默认为 “60s”。此变量提供活动流量导出超时,即在超时之后将流量记录发送到活动流量的收集器。包括引号(””)。

注意:有效时间单位为 nsus(或 s)、mssmh

ANTREA_FLOWEXPORTER_COLLECTOR_ADDRESS 可选。此变量提供 IPFIX 收集器地址。包括引号(““)。默认值为 “flow-aggregator.flow-aggregator.svc:4739:tls”。有关详细信息,请参见 Antrea 文档中的 Antrea 中的网络流量可见性
ANTREA_FLOWEXPORTER_IDLE_TIMEOUT

可选;默认为 “15s”。此变量提供空闲流量导出超时,即在超时之后将流量记录发送到空闲流量的收集器。包括引号(””)。

注意:有效时间单位为 nsus(或 s)、mssmh

ANTREA_FLOWEXPORTER_POLL_INTERVAL

可选;默认为 “5s”。此变量确定流量导出器从连接跟踪模块转储连接的频率。包括引号(““)。

注意:有效时间单位为 nsus(或 s)、mssmh

ANTREA_IPAM 可选;默认为 false。设置为 true 以从 IP 池分配 IP 地址。使用 IPPool CRD 定义了所需的 IP 范围集(可选 VLAN)。有关详细信息,请参见 Antrea 文档中的 Antrea IPAM 功能
ANTREA_KUBE_APISERVER_OVERRIDE 可选。指定 Kubernetes API 服务器的地址。有关详细信息,请参见 Antrea 文档中的移除 kube 代理
ANTREA_MULTICAST 可选;默认为 false。设置为 true 可在集群网络内(Pod 之间)以及外部网络与集群网络之间进行多播流量传输。
ANTREA_MULTICAST_INTERFACES 可选。用于转发多播流量的节点上的接口名称。包括引号(””)。例如,“eth0”
ANTREA_NETWORKPOLICY_STATS 可选;默认为 true。启用此变量以收集 NetworkPolicy 统计信息。统计数据包括 NetworkPolicy 允许或拒绝的会话、数据包和字节总数。
ANTREA_NO_SNAT 可选;默认为 false。设置为 true 可停用源网络地址转换 (SNAT)。
ANTREA_NODEPORTLOCAL 可选;默认为 true。设置为 false 可停用 NodePortLocal 模式。有关详细信息,请参见 Antrea 文档中的 NodePortLocal (NPL)
ANTREA_NODEPORTLOCAL_ENABLED 可选。设置为 true 可启用 NodePortLocal 模式,如 Antrea 文档中的 NodePortLocal (NPL) 中所述。
ANTREA_NODEPORTLOCAL_PORTRANGE 可选;默认为 61000-62000。有关详细信息,请参见 Antrea 文档中的 NodePortLocal (NPL)
ANTREA_POLICY 可选;默认为 true。激活或停用 Antrea 本机策略 API(特定于 Antrea 的策略 CRD)。此外,启用此变量后,Kubernetes 网络策略的实施将保持活动状态。有关使用网络策略的信息,请参见 Antrea 文档中的 Antrea 网络策略 CRD
ANTREA_PROXY 可选;默认为 false。激活或停用 AntreaProxy,以替换 pod 到 ClusterIP 服务流量的 kube-proxy,从而提高性能并降低延迟。请注意,kube-proxy 仍用于其他类型的服务流量。有关使用代理的详细信息,请参见 Antrea 文档中的 AntreaProxy
ANTREA_PROXY_ALL 可选;默认为 false。激活或停用 AntreaProxy 以处理所有服务流量,包括 NodePort、LoadBalancer 和 ClusterIP 流量。要将 kube-proxy 替换为 AntreaProxy,必须启用 ANTREA_PROXY_ALL。有关使用代理的详细信息,请参见 Antrea 文档中的 AntreaProxy
ANTREA_PROXY_LOAD_BALANCER_IPS 可选;默认为 true。设置为 false 可将负载均衡流量定向到外部 LoadBalancer。
ANTREA_PROXY_NODEPORT_ADDRS 可选NodePort 的 IPv4 或 IPv6 地址。包括引号(““)。
ANTREA_PROXY_SKIP_SERVICES 可选。可用于指示 AntreaProxy 应忽略的服务列表的字符串值数组。这些服务的流量将不会进行负载均衡。包括引号(””)。例如,有效的 ClusterIP(如 10.11.1.2)或具有命名空间的服务名称(如 kube-system/kube-dns)是有效值。有关详细信息,请参见 Antrea 文档中的特殊用例
ANTREA_SERVICE_EXTERNALIP 可选;默认为 false。设置为 true 可启用控制器从 ExternalIPPool 资源中为类型为 LoadBalancer 的服务分配外部 IP。有关如何实施 LoadBalancer 类型服务的详细信息,请参见 Antrea 文档中的 LoadBalancer 类型的服务
ANTREA_TRACEFLOW 可选;默认为 true。有关使用 Traceflow 的信息,请参见 Antrea 文档中的 Traceflow 用户指南
ANTREA_TRAFFIC_ENCAP_MODE

可选;默认为 “encap”。设置为 noEncaphybridNetworkPolicyOnly。有关使用 NoEncap 或混合流量模式的信息,请参见 Antrea 文档中的 NoEncap 和 Antrea 的混合流量模式

注意:noEncaphybrid 模式需要对节点网络进行特定配置,防止它们禁用节点之间的 Pod 通信。

noEncap 模式仅在 vSphere 上受支持,并且可以停用节点之间的 Pod 通信。在 pod 需要跨节点通信的集群中,不要将 ANTREA_TRAFFIC_ENCAP_MODE 设置为 noEncap

ANTREA_TRANSPORT_INTERFACE 可选。节点上用于通过隧道传输或路由流量的接口的名称。包括引号(““)。例如,“eth0”
ANTREA_TRANSPORT_INTERFACE_CIDRS 可选。节点上用于隧道传输或路由流量的接口的网络 CIDR。包括引号(””)。例如,“10.0.0.2/24”

计算机运行状况检查

如果要为管理和工作负载集群配置计算机运行状况检查,请设置以下变量。有关详细信息,请参见创建管理集群配置文件中的配置计算机运行状况检查。有关如何在部署集群后执行计算机运行状况检查操作的信息,请参见为工作负载集群配置计算机运行状况检查

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
ENABLE_MHC 基于类:✖
基于计划:✔
可选,设置为 truefalse 以在目标管理集群或工作负载集群的控制平面和工作节点上激活或停用 MachineHealthCheck 控制器。或者为控制平面和工作节点留空并单独设置 ENABLE_MHC_CONTROL_PLANEENABLE_MHC_WORKER_NODE。默认为空。
控制器提供计算机运行状况监控和自动修复。
对于 vSphere with Tanzu 创建的工作负载集群,请设置为 false
ENABLE_MHC_CONTROL_PLANE 可选;默认为 true。有关详细信息,请参见下表。
ENABLE_MHC_WORKER_NODE 可选;默认为 true。有关详细信息,请参见下表。
MHC_MAX_UNHEALTHY_CONTROL_PLANE 可选;仅基于类的集群。默认为 100%。如果不正常计算机数量超过设置的值,则 MachineHealthCheck 控制器不会执行修复。
MHC_MAX_UNHEALTHY_WORKER_NODE 可选;仅基于类的集群。默认为 100%。如果不正常计算机数量超过设置的值,则 MachineHealthCheck 控制器不会执行修复。
MHC_FALSE_STATUS_TIMEOUT 基于类:✖
基于计划:✔
可选;默认为 12mMachineHealthCheck 控制器在将计算机视为不正常并重新创建之前允许节点的 Ready 条件保持 False 的时间
MHC_UNKNOWN_STATUS_TIMEOUT 可选;默认为 5mMachineHealthCheck 控制器在将计算机视为不正常并重新创建之前允许节点的 Ready 条件保持 Unknown 的时间
NODE_STARTUP_TIMEOUT 可选;默认为 20mMachineHealthCheck 控制器在将计算机视为不正常并重新创建之前等待节点加入集群的时间。

使用下表确定如何配置 ENABLE_MHCENABLE_MHC_CONTROL_PLANEENABLE_MHC_WORKER_NODE变量。

ENABLE_MHC 的值 ENABLE_MHC_CONTROL_PLANE 的值 ENABLE_MHC_WORKER_NODE 的值 是否已启用控制平面修复? 已启用工作节点修复?
true / Emptytrue / 空 true / false / 空 true / false / 空
false true / 空 true / 空
false true / 空 false
false false true / 空

专用映像注册表配置

如果在未连接到 Internet 的环境中部署 Tanzu Kubernetes Grid 管理集群和 Kubernetes 集群,则需要在防火墙内设置专用映像存储库,并在其中填充 Tanzu Kubernetes Grid 映像。有关设置专用映像存储库的信息,请参见准备 Internet 受限环境

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
ADDITIONAL_IMAGE_REGISTRY_1ADDITIONAL_IMAGE_REGISTRY_2ADDITIONAL_IMAGE_REGISTRY_3 仅基于类的工作负载集群和独立管理集群。除了由 TKG_CUSTOM_IMAGE_REPOSITORY 设置的主映像注册表以外,最多三个可信专用注册表的 IP 地址或 FQDN,以供工作负载集群节点访问。请参见基于类的集群的受信任注册表
ADDITIONAL_IMAGE_REGISTRY_1_CA_CERTIFICATEADDITIONAL_IMAGE_REGISTRY_2_CA_CERTIFICATEADDITIONAL_IMAGE_REGISTRY_3_CA_CERTIFICATE 仅基于类的工作负载集群和独立管理集群。采用 base64 编码格式的专用映像注册表的 CA 证书,这些证书配置了上述 ADDITIONAL_IMAGE_REGISTRY-。例如,…ADDITIONAL_IMAGE_REGISTRY_1_CA_CERTIFICATE: “LS0t[]tLS0tLQ==”
ADDITIONAL_IMAGE_REGISTRY_1_SKIP_TLS_VERIFYADDITIONAL_IMAGE_REGISTRY_2_SKIP_TLS_VERIFYADDITIONAL_IMAGE_REGISTRY_3_SKIP_TLS_VERIFY 仅基于类的工作负载集群和独立管理集群。对于配置有上述 ADDITIONAL_IMAGE_REGISTRY-、使用自签名证书但不使用 ADDITIONAL_IMAGE_REGISTRY_CA_CERTIFICATE 的任何专用映像注册表,请设置为 trueADDITIONAL_IMAGE_REGISTRY由于 Tanzu 连接 Webhook 将 Harbor CA 证书注入集群节点,因此在使用 Harbor 时,应始终将 _SKIP_TLS_VERIFY should always be set to false
TKG_CUSTOM_IMAGE_REPOSITORY 如果在 Internet 受限的环境中部署 Tanzu Kubernetes Grid,则该字段为必需。提供专用注册表的 IP 地址或 FQDN,该注册表包含集群从中引导的 TKG 系统映像,下面称为主映像注册表。例如,custom-image-repository.io/yourproject
TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY 可选。如果专用主映像注册表使用自签名证书,而不使用 TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE,则设置为 true。由于 Tanzu 连接 Webhook 将 Harbor CA 证书注入集群节点,因此在使用 Harbor 时,应始终将 TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY 设置为 false
TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE 可选。如果专用主映像注册表使用自签名证书,则设置此选项。提供格式为 base64 编码的 CA 证书,例如 …TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE: “LS0t[]tLS0tLQ==”

vSphere

下表中的选项是部署工作负载集群到 vSphere 时在集群配置文件中指定的最少选项。其中大多数选项对于用于部署该集群的工作负载集群和管理集群是相同的。

有关 vSphere 配置文件的详细信息,请参见 vSphere 的管理集群配置部署工作负载集群到 vSphere

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
DEPLOY_TKG_ON_VSPHERE7 可选。如果部署到 vSphere 7 或 8,则设置为 true 将跳过有关在 vSphere 7 或 8 或 false 上部署的提示。请参见 vSphere with Tanzu 上的管理集群
ENABLE_TKGS_ON_VSPHERE7 可选,如果部署到 vSphere 7 或 8,请设置为 true 以重定向到vSphere with Tanzu 启用 UI 页面,或者false。请参见 vSphere with Tanzu 上的管理集群
NTP_SERVERS 仅基于类的集群。如果要在缺少 DHCP 选项 42(例如,NTP_SERVERS: time.google.com)的 vSphere 环境中部署集群,请配置集群的 NTP 服务器。要在基于计划的旧版集群中配置此功能,请使用 ytt 覆盖网络,如 在不使用 DHCP 选项 42 的情况下配置 NTP (vSphere) 中所述。
TKG_IP_FAMILY 可选。要将集群部署到使用纯 IPv6 的 vSphere 7 或 8,请设置为 ipv6。有关双堆栈网络连接(实验),请参见双堆栈集群
VIP_NETWORK_INTERFACE 可选。设置为 eth0eth1 等。网络接口名称,例如以太网接口。默认为 eth0
VSPHERE_AZ_CONTROL_PLANE_MATCHING_LABELS 对于部署到多个 AZ 的集群,设置键/值选择器标签,用于指定可能要部署集群控制平面节点的 AZ。这样,您可以将节点配置为在指定区域和环境中的所有 AZ 中运行,而不单独列出 AZ,例如:“region=us-west-1,environment=staging”。请参见跨多个可用区运行集群
VSPHERE_CONTROL_PLANE_DISK_GIB 可选。控制平面节点虚拟机的磁盘大小(以 GB 为单位)。包括引号(““)。例如,"30"
VSPHERE_AZ_0VSPHERE_AZ_1VSPHERE_AZ_2 可选 集群中的计算机部署将部署到的部署区域。请参见跨多个可用区运行集群
VSPHERE_CONTROL_PLANE_ENDPOINT Kube-Vip 的必需项。对于向集群发出的 API 请求,静态虚拟 IP 地址或映射到静态地址的完全限定域名 (FQDN)。如果要将 Kube-Vip 用于 API 服务器端点,则需要此设置,配置方法是将 AVI_CONTROL_PLANE_HA_PROVIDER 设置为 false
如果使用 NSX Advanced Load Balancer,AVI_CONTROL_PLANE_HA_PROVIDER: true,您可以:
  • 如果不需要特定地址作为控制平面端点,将此字段留空
  • 将此字段设置为 IPAM 配置文件的 VIP 网络范围内的特定地址,然后手动将该地址添加到静态 IP 池
  • 将此字段设置为 FQDN
VSPHERE_CONTROL_PLANE_ENDPOINT_PORT 可选,如果要在 vSphere with NSX Advanced Load Balancer 上覆盖部署的 Kubernetes API 服务器端口,则设置此选项。默认端口为 6443。要在没有 NSX Advanced Load Balancer 的 vSphere 上覆盖部署的 Kubernetes API 服务器端口,请设置 CLUSTER_API_SERVER_PORT
VSPHERE_CONTROL_PLANE_MEM_MIB 可选。控制平面节点虚拟机的内存量(以 MB 为单位)。包括引号(””)。例如,"2048"
VSPHERE_CONTROL_PLANE_NUM_CPUS 可选。控制平面节点虚拟机的 CPU 数量。包括引号(““)。至少应为 2。例如,"2"
VSPHERE_DATACENTER 必需。要在其中部署集群的数据中心的名称,如 vSphere 清单中显示的名称。例如,/MY-DATACENTER
VSPHERE_DATASTORE 必需。集群要使用的 vSphere 数据存储的名称,如 vSphere 清单中所示。例如,/MY-DATACENTER/datastore/MyDatastore
VSPHERE_FOLDER 必需。要在其中放置 Tanzu Kubernetes Grid 虚拟机的现有虚拟机文件夹的名称,如 vSphere 清单中显示的名称。例如,如果创建了名为 TKG 的文件夹,则路径为 /MY-DATACENTER/vm/TKG
VSPHERE_INSECURE 可选。设置为 true 以绕过指纹验证。如果为 false,请设置 VSPHERE_TLS_THUMBPRINT
VSPHERE_MTU 可选。为 vSphere Standard 交换机上的管理集群节点和工作负载集群节点设置最大传输单元 (MTU) 的大小。如果未设置,则默认值为 1500。最大值为 9000。请参见配置集群节点 MTU
VSPHERE_NETWORK 必需。要用作 Kubernetes 服务网络的现有 vSphere 网络的名称,如 vSphere 清单中所示。例如,VM Network
VSPHERE_PASSWORD 必需。vSphere 用户帐户的密码。运行 tanzu cluster create 时,此值采用 base64 编码。
VSPHERE_REGION 可选。vCenter 中的分区标记,用于在具有多个数据中心或主机集群的环境中分配 CSI 存储。请参见使用 CSI 的地域标记和区域标记部署集群
VSPHERE_RESOURCE_POOL 必需。要在其中放置此 Tanzu Kubernetes Grid 实例的现有资源池的名称,如 vSphere 清单中所示。要使用集群的根资源池,请输入完整路径,例如,对于数据中心 MY-DATACENTER 中名为 cluster0 的集群,完整路径为 /MY-DATACENTER/host/cluster0/Resources
VSPHERE_SERVER 必需。要在其上部署工作负载集群的 vCenter Server 实例的 IP 地址或 FQDN。
VSPHERE_SSH_AUTHORIZED_KEY 必需。粘贴您在部署管理集群到 vSphere 中创建的 SSH 公钥的内容。例如,…"ssh-rsa NzaC1yc2EA [] hnng2OYYSl+8ZyNz3fmRGX8uPYqw== [email protected]".
VSPHERE_STORAGE_POLICY_ID 可选。管理集群的虚拟机存储策略的名称,如策略和配置文件 > 虚拟机存储策略中所示。
如果设置了 VSPHERE_DATASTORE,则存储策略必须包含它。否则,集群创建过程会选择与策略兼容的数据存储。
VSPHERE_TEMPLATE 可选。如果要对同一 Kubernetes 版本使用多个自定义 OVA 映像(格式为 /MY-DC/vm/MY-FOLDER-PATH/MY-IMAGE),请指定 OVA 文件的路径。有关详细信息,请参见部署具有自定义 OVA 映像的集群
VSPHERE_TLS_THUMBPRINT 如果 VSPHERE_INSECUREfalse,则此字段为必需。vCenter Server 证书的指纹。有关如何获取 vCenter Server 证书指纹的信息,请参见获取 vSphere 证书指纹。如果用户希望通过将 VSPHERE_INSECURE 设置为 true 来使用不安全的连接,则可以跳过此值。
VSPHERE_USERNAME 必需。具有 Tanzu Kubernetes Grid 操作所需的特权的 vSphere 用户帐户,包括域名。例如,[email protected]
VSPHERE_WORKER_DISK_GIB 可选。工作节点虚拟机的磁盘大小(以 GB 为单位)。包括引号(””)。例如,"50"
VSPHERE_WORKER_MEM_MIB 可选。工作节点虚拟机的内存量(以 MB 为单位)。包括引号(““)。例如,"4096"
VSPHERE_WORKER_NUM_CPUS 可选。工作节点虚拟机的 CPU 数量。包括引号(””)。至少应为 2。例如,"2"
VSPHERE_ZONE 可选。vCenter 中的区域标记,用于在具有多个数据中心或主机集群的环境中分配 CSI 存储。请参见使用 CSI 的地域标记和区域标记部署集群

Kube-VIP 负载均衡器(技术预览版)

有关如何将 Kube-VIP 配置为 L4 负载均衡器服务的信息,请参见 Kube-VIP 负载均衡器

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
KUBEVIP_LOADBALANCER_ENABLE 可选;默认为 false。设置为 truefalse。启用 Kube-VIP 作为工作负载的负载均衡器。如果为 true,则必须设置以下变量之一。
KUBEVIP_LOADBALANCER_IP_RANGES 要为 LoadBalancer 类型的服务 IP 分配的非重叠 IP 范围列表。例如:10.0.0.1-10.0.0.23,10.0.2.1-10.0.2.24
KUBEVIP_LOADBALANCER_CIDRS 要为 LoadBalancer 类型的服务 IP 分配的非重叠 CIDR 列表。例如:10.0.0.0/24,10.0.2/24。覆盖 KUBEVIP_LOADBALANCER_IP_RANGES 的设置。

NSX Advanced Load Balancer

有关如何部署 NSX Advanced Load Balancer 的信息,请参见安装 NSX Advanced Load Balancer

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
AVI_ENABLE 可选;默认为 false。设置为 truefalse。启用 NSX Advanced Load Balancer 作为工作负载的负载均衡器。如果设置为 true,则必须设置下面 NSX Advanced Load Balancer 中列出的必需变量。
AVI_ADMIN_CREDENTIAL_NAME 可选;默认为 avi-controller-credentials。包含 NSX Advanced Load Balancer 控制器管理员用户名和密码的 Kubernetes 密钥的名称。
AVI_AKO_IMAGE_PULL_POLICY 可选;默认为 IfNotPresent
AVI_CA_DATA_B64 必需。用于对控制器证书进行签名的控制器证书颁发机构的内容。必需为 base64 编码。检索未编码的自定义证书内容,如 Avi 控制器设置:自定义证书中所述。
AVI_CA_NAME 可选;默认为 avi-controller-ca。持有 NSX Advanced Load Balancer Controller 证书颁发机构的 Kubernetes 密钥的名称。
AVI_CLOUD_NAME 必需。在 NSX Advanced Load Balancer 部署中创建的云。例如,Default-Cloud
AVI_CONTROLLER 必需。NSX Advanced Load Balancer 控制器的 IP 或主机名。
AVI_CONTROL_PLANE_HA_PROVIDER 必需。设置为 true 可启用 NSX Advanced Load Balancer 作为控制平面 API 服务器端点,或者设置为 false 可使用 Kube-Vip 作为控制平面端点。
AVI_CONTROL_PLANE_NETWORK 可选。定义工作负载集群控制平面的 VIP 网络。如果要为工作负载集群配置单独的 VIP 网络,请使用此字段。此字段为可选字段,如果留空,它将使用与 AVI_DATA_NETWORK 相同的网络。
AVI_CONTROL_PLANE_NETWORK_CIDR 可选;默认使用与 AVI_DATA_NETWORK_CIDR 相同的网络。要用于工作负载集群的控制平面的子网的 CIDR。如果要为工作负载集群配置单独的 VIP 网络,请使用此字段。您可以在 NSX Advanced Load Balancer 界面的基础架构 - 网络视图中查看特定网络的子网 CIDR。
AVI_DATA_NETWORK 必需。浮动 IP 子网或 IP 池分配给负载均衡器的网络名称,用于传输到工作负载集群上托管的应用程序的流量。此网络必须与 Tanzu Kubernetes Grid 使用的 Kubernetes 网络位于您在 SERVICE_CIDR 变量中指定的同一 vCenter Server 实例中。这样,NSX Advanced Load Balancer 可以在 vCenter Server 中发现 Kubernetes 网络,并部署和配置服务引擎。
AVI_DATA_NETWORK_CIDR 必需。要用于负载均衡器 VIP 的子网的 CIDR。这来自于 VIP 网络的其中一个已配置子网。您可以在 NSX Advanced Load Balancer 界面的基础架构 - 网络视图中查看特定网络的子网 CIDR。
AVI_DISABLE_INGRESS_CLASS 可选;默认为 false。停用 Ingress 类。
AVI_DISABLE_STATIC_ROUTE_SYNC 可选;默认为 false。如果可从 NSX ALB 服务引擎访问 pod 网络,则设置为 true
AVI_INGRESS_DEFAULT_INGRESS_CONTROLLER 可选;默认为 false。使用 AKO 作为默认输入控制器。
注意:此变量在 TKG v2.3 中不起作用。有关解决办法,请参见发行说明中的已知问题某些 NSX ALB 配置变量不起作用
AVI_INGRESS_NODE_NETWORK_LIST 指定节点所属的端口组 (PG) 网络的名称,以及 CNI 分配给每个节点的关联 CIDR,以便该节点分配给其 Pod。最好在 AKODeploymentConfig 文件中对此进行更新,请参见 ClusterIP 模式中的 L7 输入,但如果确实使用集群配置文件,格式类似于:‘[{“networkName”: “vsphere-portgroup”,“cidrs”: [“100.64.42.0/24”]}]’
AVI_INGRESS_SERVICE_TYPE 可选。指定 AKO 是在 ClusterIPNodePort 还是 NodePortLocal 模式下运行。默认为 NodePort
AVI_INGRESS_SHARD_VS_SIZE 可选。AKO 对第 7 层输入对象使用共享逻辑。共享 VS 涉及托管由一个虚拟 IP 或 VIP 托管的多个不安全或安全输入。设置为 LARGEMEDIUMSMALL。默认值 SMALL。使用此可控制第 7 层 VS 编号。这适用于安全/不安全的 VS,但不适用于直通。
AVI_LABELS 可选。设置后,仅在具有此标签的工作负载集群上启用 NSX Advanced Load Balancer。包括引号("")。例如,AVI_LABELS: “{foo: ‘bar’}”
AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_CIDR 可选。要用于管理集群的控制平面的子网的 CIDR。如果要为管理集群的控制平面配置单独的 VIP 网络,请使用此选项。您可以在 NSX Advanced Load Balancer 界面的基础架构 - 网络视图中查看特定网络的子网 CIDR。此字段为可选字段,如果留空,它将使用与 AVI_DATA_NETWORK_CIDR 相同的网络。
AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_NAME 可选。定义管理集群的控制平面的 VIP 网络。如果要为管理集群的控制平面配置单独的 VIP 网络,请使用此选项。此字段为可选字段,如果留空,它将使用与 AVI_DATA_NETWORK 相同的网络。
AVI_MANAGEMENT_CLUSTER_SERVICE_ENGINE_GROUP 可选。指定要由管理集群中的 AKO 使用的服务引擎组的名称。此字段为可选字段,如果留空,它将使用与 AVI_SERVICE_ENGINE_GROUP 相同的网络。
AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_NAME 可选;默认使用与 AVI_DATA_NETWORK 相同的网络。将浮动 IP 子网或 IP 池分配给管理集群和工作负载集群控制平面(如果使用 NSX ALB 提供控制平面 HA)的负载均衡器的网络名称。此网络必须与 Tanzu Kubernetes Grid 使用的 Kubernetes 网络位于您在 SERVICE_CIDR 变量中为管理集群指定的同一 vCenter Server 实例中。这样,NSX Advanced Load Balancer 可以在 vCenter Server 中发现 Kubernetes 网络,并部署和配置服务引擎。
AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_CIDR 可选;默认使用与 AVI_DATA_NETWORK_CIDR 相同的网络。要用于管理集群和工作负载集群的控制平面(如果使用 NSX ALB 提供控制平面 HA)负载均衡器 VIP 的子网的 CIDR。这来自于 VIP 网络的其中一个已配置子网。您可以在 NSX Advanced Load Balancer 界面的基础架构 - 网络视图中查看特定网络的子网 CIDR。
AVI_NAMESPACE 可选;默认为 “tkg-system-networking”。AKO 运算符的命名空间。
AVI_NSXT_T1LR 可选。在 AVI 控制器 UI 的 NSX Cloud 下为管理集群配置的 NSX T1 路由器路径。在 NSX ALB 控制器上使用 NSX 云时,需要此变量。
要对工作负载集群使用不同的 T1,请在创建管理集群后修改 AKODeploymentConfig 对象 install-ako-for-all
AVI_PASSWORD 必需。部署时为控制器管理员设置的密码。
AVI_SERVICE_ENGINE_GROUP 必需。服务引擎组的名称。例如,Default-Group
AVI_USERNAME 必需。部署控制器主机时为其设置的管理员用户名。

NSX Pod 路由

这些变量配置可路由 IP 地址工作负载 pod,如部署具有可路由 IP Pod 的集群中所述。所有字符串类型设置都应采用双引号,例如,"true"

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
NSXT_POD_ROUTING_ENABLED 可选;默认为 “false”。设置为 “true”,以使用以下变量启用 NSX 可路由 Pod。请参见部署具有可路由 IP Pod 的集群
NSXT_MANAGER_HOST 必需 如果NSXT_POD_ROUTING_ENABLED= “true”
NSX Manager 的 IP 位址。
NSXT_ROUTER_PATH 必需 如果NSXT_POD_ROUTING_ENABLED= “true”。NSX Manager 中显示的 T1 路由器路径。
对于 NSX 的用户名/密码身份验证:
NSXT_USERNAME 用于登录到 NSX Manager 的用户名。
NSXT_PASSWORD 用于登录到 NSX Manager 的密码。
要使用凭据对 NSX 进行身份验证并将其存储在 Kubernetes 密钥中(也设置了上述 NSXT_USERNAMENSXT_PASSWORD):
NSXT_SECRET_NAMESPACE 可选;默认为 “kube-system”。密钥包含 NSX 用户名和密码的命名空间。
NSXT_SECRET_NAME 可选;默认为 “cloud-provider-vsphere-nsxt-credentials”。包含 NSX 用户名和密码的密钥的名称。
对于 NSX 的证书身份验证:
NSXT_ALLOW_UNVERIFIED_SSL 可选;默认为 false。如果 NSX 使用自签名证书,请将此项设置为 “true”
NSXT_ROOT_CA_DATA_B64 必需 如果NSXT_ALLOW_UNVERIFIED_SSL= “false”
NSX 用于 LDAP 身份验证的 Base64 编码证书颁发机构根证书字符串。
NSXT_CLIENT_CERT_KEY_DATA 本地客户端证书的 Base64 编码证书密钥文件字符串。
NSXT_CLIENT_CERT_DATA 本地客户端证书的 Base64 编码证书文件字符串。
要在 VMware Cloud (VMC) 上对 NSX with VMware Identity Manager 进行远程身份验证,请执行以下操作:
NSXT_REMOTE_AUTH 可选;默认为 false。将此选项设置为 “true”,以便在 VMware Cloud (VMC) 对 NSX with VMware Identity Manager 进行远程身份验证。
NSXT_VMC_AUTH_HOST 可选;默认为空。VMC 身份验证主机。
NSXT_VMC_ACCESS_TOKEN 可选;默认为空。VMC 身份验证访问令牌。

节点 IPAM

这些变量配置集群内 IP 地址管理 (IPAM),如节点 IPAM中所述。所有字符串类型设置都应采用双引号,例如,"true"

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
CONTROL_PLANE_NODE_NAMESERVERS 以逗号分隔的名称服务器列表,例如,“10.10.10.10”,用于节点 IPAM 管理的控制平面节点地址。在 Ubuntu 和 Photon 上受支持;在 Windows 上不受支持。
NODE_IPAM_IP_POOL_APIVERSION 工作负载集群使用的 InClusterIPPool 对象的 API 版本。默认值为 “ipam.cluster.x-k8s.io/v1alpha2”;以前的 TKG 版本使用 v1alpha1
NODE_IPAM_IP_POOL_KIND 工作负载集群使用的 IP 池对象的类型。默认为 “InClusterIPPool”,也可以设置为 “GlobalInClusterIPPool” 与其他集群共享同一池。
NODE_IPAM_IP_POOL_NAME 配置工作负载集群使用的 IP 池的 IP 池对象的名称。
WORKER_NODE_NAMESERVERS 以逗号分隔的名称服务器列表,例如,“10.10.10.10”,用于由节点 IPAM 管理的工作节点地址。在 Ubuntu 和 Photon 上受支持;在 Windows 上不受支持。
MANAGEMENT_NODE_IPAM_IP_POOL_GATEWAY 管理集群中 IPAM 池地址的默认网关,例如,"10.10.10.1”。
MANAGEMENT_NODE_IPAM_IP_POOL_ADDRESSES 可用于 IPAM 在管理集群中分配的地址,以逗号分隔的列表,可以包含单个 IP 地址、范围(例如,10.0.0.2-10.0.0.100)或 CIDR(例如,10.0.0.32/27)。
根据集群升级需要,请包含额外的地址以保持未使用状态。所需的额外地址数默认为 1,由集群对象规范的 topology.controlPlanetopology.workers 定义中的注释 topology.cluster.x-k8s.io/upgrade-concurrency 设置。
MANAGEMENT_NODE_IPAM_IP_POOL_SUBNET_PREFIX 独立管理集群中 IPAM 池地址的子网的网络前缀,例如,“24”

启用了 GPU 的集群

这些变量在 PCI 直通模式下配置启用了 GPU 的工作负载集群,如部署启用了 GPU 的工作负载集群中所述。所有字符串类型设置都应采用双引号,例如,"true"

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
VSPHERE_CONTROL_PLANE_CUSTOM_VMX_KEYS 在所有控制平面计算机上设置自定义 VMX 密钥。使用格式 Key1=Value1,Key2=Value2。请参见部署启用了 GPU 的工作负载集群
VSPHERE_CONTROL_PLANE_HARDWARE_VERSION GPU 设备处于 PCI 直通模式的控制平面虚拟机的硬件版本。所需的最低版本为 17。该值的格式为 vmx-17,其中尾部数字是虚拟机的硬件版本。有关不同硬件版本的功能支持,请参见 vSphere 文档中的虚拟机兼容性设置提供的硬件功能
VSPHERE_CONTROL_PLANE_PCI_DEVICES 在所有控制平面计算机上配置 PCI 直通。使用 <vendor_id>:<device_id> 格式。例如,VSPHERE_WORKER_PCI_DEVICES: “0x10DE:0x1EB8”。要查找供应商和设备 ID,请参见部署启用了 GPU 的工作负载集群
VSPHERE_IGNORE_PCI_DEVICES_ALLOW_LIST 如果要使用 NVIDIA Tesla T4 GPU,则设置为 false;如果要使用 NVIDIA V100 GPU,则设置为 true
VSPHERE_WORKER_CUSTOM_VMX_KEYS 在所有工作线程计算机上设置自定义 VMX 密钥。使用格式 Key1=Value1,Key2=Value2。有关示例,请参见部署启用了 GPU 的工作负载集群
VSPHERE_WORKER_HARDWARE_VERSION GPU 设备处于 PCI 直通模式的工作线程虚拟机的硬件版本。所需的最低版本为 17。该值的格式为 vmx-17,其中尾部数字是虚拟机的硬件版本。有关不同硬件版本的功能支持,请参见 vSphere 文档中的虚拟机兼容性设置提供的硬件功能
VSPHERE_WORKER_PCI_DEVICES 在所有工作线程计算机上配置 PCI 直通。使用 <vendor_id>:<device_id> 格式。例如,VSPHERE_WORKER_PCI_DEVICES: “0x10DE:0x1EB8”。要查找供应商和设备 ID,请参见部署启用了 GPU 的工作负载集群
WORKER_ROLLOUT_STRATEGY 可选。配置 MachineDeployment 部署策略。默认值为 RollingUpdate。如果设置为 OnDelete,则在更新时,将首先删除现有的工作线程计算机,然后创建替换工作线程计算机。如果工作线程节点在使用所有可用的 PCI 设备,则必须将此设置为 OnDelete

AWS

下表中的变量是部署工作负载集群到 AWS 时在集群配置文件中指定的选项。其中许多选项对于用于部署该集群的工作负载集群和管理集群是相同的。

有关 AWS 配置文件的详细信息,请参见 AWS 的管理集群配置 AWS 集群配置文件

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
AWS_ACCESS_KEY_ID 可选。AWS 帐户的访问密钥 ID。这是一个用于对 AWS 进行身份验证的选项。请参见配置 AWS 帐户凭据
只能使用 AWS_PROFILEAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 的组合,但不能同时使用两者。
AWS_CONTROL_PLANE_OS_DISK_SIZE_GIB 可选。用于控制平面节点的磁盘大小。覆盖由 CONTROL_PLANE_MACHINE_TYPESIZECONTROLPLANE_SIZE 设置的虚拟机类型的默认磁盘大小。
AWS_LOAD_BALANCER_SCHEME_INTERNAL 可选。对于管理集群,将负载均衡器方案设置为内部,从而阻止通过 Internet 进行访问。对于工作负载集群,确保管理集群在共享 VPC 或对等时在内部访问工作负载集群的负载均衡器。请参见将内部负载均衡器用于 Kubernetes API 服务器
AWS_NODE_AZ 必需。所选区域中要用作此管理集群可用区的 AWS 可用区的名称。可用区名称与 AWS 区域名称相同,具有单个小写字母后缀,例如 abc。例如,us-west-2a。要部署具有三个控制平面节点的 prod 管理集群,还必须设置 AWS_NODE_AZ_1AWS_NODE_AZ_2。其中每个可用区中的字母后缀必须是唯一的。例如,us-west-2aus-west-2bus-west-2c
AWS_NODE_OS_DISK_SIZE_GIB 可选。工作节点的磁盘大小。覆盖由 NODE_MACHINE_TYPESIZEWORKER_SIZE 设置的虚拟机类型的默认磁盘大小。
AWS_NODE_AZ_1AWS_NODE_AZ_2 可选。如果要部署具有三个控制平面节点的 prod 管理集群,请设置这些变量。两个可用区必须与 AWS_NODE_AZ 位于同一个区域中。有关详细信息,请参见上面的 AWS_NODE_AZ。例如,us-west-2aap-northeast-2b 等。
AWS_PRIVATE_NODE_CIDR_1 可选。如果建议的范围 10.0.2.0/24 不可用,请以 CIDR 格式输入其他 IP 范围。Tanzu Kubernetes Grid 部署管理集群时,会在 AWS_NODE_AZ_1 中创建此子网。有关详细信息,请参见上面的 AWS_PRIVATE_NODE_CIDR
AWS_PRIVATE_NODE_CIDR_2 可选。如果建议的范围 10.0.4.0/24 不可用,请以 CIDR 格式输入其他 IP 范围。Tanzu Kubernetes Grid 部署管理集群时,会在 AWS_NODE_AZ_2 中创建此子网。有关详细信息,请参见上面的 AWS_PRIVATE_NODE_CIDR
AWS_PROFILE 可选。Tanzu Kubernetes Grid 用于访问其 AWS 帐户的由 aws configure 管理的 AWS 凭据配置文件。这是对 AWS 进行身份验证的首选选项。请参见配置 AWS 帐户凭据
只能使用 AWS_PROFILEAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 的组合,但不能同时使用两者。
AWS_PUBLIC_NODE_CIDR_1 可选。如果建议的范围 10.0.3.0/24 不可用,请以 CIDR 格式输入其他 IP 范围。Tanzu Kubernetes Grid 部署管理集群时,会在 AWS_NODE_AZ_1 中创建此子网。有关详细信息,请参见上面的 AWS_PUBLIC_NODE_CIDR
AWS_PUBLIC_NODE_CIDR_2 可选。如果建议的范围 10.0.5.0/24 不可用,请以 CIDR 格式输入其他 IP 范围。Tanzu Kubernetes Grid 部署管理集群时,会在 AWS_NODE_AZ_2 中创建此子网。有关详细信息,请参见上面的 AWS_PUBLIC_NODE_CIDR
AWS_PRIVATE_SUBNET_ID 可选。如果将 AWS_VPC_ID 设置为使用现有 VPC,请输入 AWS_NODE_AZ 中已存在的专用子网的 ID。此设置是可选的。如果未设置,tanzu management-cluster create 会自动标识专用子网。要部署具有三个控制平面节点的 prod 管理集群,还必须设置 AWS_PRIVATE_SUBNET_ID_1AWS_PRIVATE_SUBNET_ID_2
AWS_PRIVATE_SUBNET_ID_1 可选AWS_NODE_AZ_1 中存在的专用子网的 ID。如果未设置该变量,tanzu management-cluster create 会自动标识专用子网。有关详细信息,请参见上面的 AWS_PRIVATE_SUBNET_ID
AWS_PRIVATE_SUBNET_ID_2 可选AWS_NODE_AZ_2 中存在的专用子网的 ID。如果未设置该变量,tanzu management-cluster create 会自动标识专用子网。有关详细信息,请参见上面的 AWS_PRIVATE_SUBNET_ID
AWS_PUBLIC_SUBNET_ID 可选。如果将 AWS_VPC_ID 设置为使用现有 VPC,请输入 AWS_NODE_AZ 中已存在的公用子网的 ID。此设置是可选的。如果未设置,tanzu management-cluster create 会自动标识公用子网。要部署具有三个控制平面节点的 prod 管理集群,还必须设置 AWS_PUBLIC_SUBNET_ID_1AWS_PUBLIC_SUBNET_ID_2
AWS_PUBLIC_SUBNET_ID_1 可选AWS_NODE_AZ_1 中存在的公用子网的 ID。如果未设置该变量,tanzu management-cluster create 会自动标识公用子网。有关详细信息,请参见上面的 AWS_PUBLIC_SUBNET_ID
AWS_PUBLIC_SUBNET_ID_2 可选AWS_NODE_AZ_2 中存在的公用子网的 ID。如果未设置该变量,tanzu management-cluster create 会自动标识公用子网。有关详细信息,请参见上面的 AWS_PUBLIC_SUBNET_ID
AWS_REGION 必需。要在其中部署集群的 AWS 区域的名称。例如,us-west-2。您还可以在 AWS GovCloud 中指定 us-gov-eastus-gov-west 区域。如果已将其他区域设置为环境变量(例如,在部署管理集群为 AWS中),则必须取消设置该环境变量。例如,us-west-2ap-northeast-2 等。
AWS_SECRET_ACCESS_KEY 可选。AWS 帐户的私有访问密钥。这是一个用于对 AWS 进行身份验证的选项。请参见配置 AWS 帐户凭据
只能使用 AWS_PROFILEAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 的组合,但不能同时使用两者。
AWS_SECURITY_GROUP_APISERVER_LB 可选。自定义安全组以及要应用于集群的自定义规则。请参见配置自定义安全组
AWS_SECURITY_GROUP_BASTION
AWS_SECURITY_GROUP_CONTROLPLANE
AWS_SECURITY_GROUP_APISERVER_LB
AWS_SECURITY_GROUP_NODE
AWS_SESSION_TOKEN 可选。如果需要使用临时访问密钥,请提供授予您的帐户的 AWS 会话令牌。有关使用临时访问密钥的详细信息,请参见了解和获取 AWS 凭据。为您的 AWS 帐户提供会话令牌。或者,您也可以将帐户凭据指定为本地环境变量或在 AWS 默认凭据提供程序链中指定。
AWS_SSH_KEY_NAME 必需。在 AWS 帐户中注册的 SSH 私钥的名称。
AWS_VPC_ID 可选。要使用选定 AWS 区域中已存在的 VPC,请输入 VPC 的 Id,然后设置 AWS_PUBLIC_SUBNET_IDAWS_PRIVATE_SUBNET_ID
BASTION_HOST_ENABLED 可选。默认情况下,此选项在全局 Tanzu Kubernetes Grid 配置中设置为 "true"。指定 "true" 以部署 AWS Bastion 主机,或者指定 "false" 重用现有 Bastion 主机。如果可用区中不存在 Bastion 主机,并且已将 AWS_VPC_ID 设置为使用现有 VPC,请将 BASTION_HOST_ENABLED 设置为 "true"
CONTROL_PLANE_MACHINE_TYPE 如果未设置云无关的 SIZECONTROLPLANE_SIZE,则为必需。要用于集群控制平面节点的 Amazon EC2 实例类型,例如 t3.smallm5.large
NODE_MACHINE_TYPE 如果未设置云无关的 SIZEWORKER_SIZE,则为必需。要用于集群工作节点的 Amazon EC2 实例类型,例如 t3.smallm5.large

Microsoft Azure

下表中的变量是部署工作负载集群到 Azure 时在集群配置文件中指定的选项。其中许多选项对于用于部署该集群的工作负载集群和管理集群是相同的。

有关 Azure 配置文件的详细信息,请参见 Azure 的管理集群配置 Azure 集群配置文件

变量 可以在…中设置 描述
管理集群 YAML 工作负载集群 YAML
AZURE_CLIENT_ID 必需。在 Azure 中注册的 Tanzu Kubernetes Grid 应用的客户端 ID。
AZURE_CLIENT_SECRET 必需在 Azure 上注册 Tanzu Kubernetes Grid 应用的 Azure 客户端密钥。
AZURE_CUSTOM_TAGS 可选。要应用于为集群创建的 Azure 资源的标记的逗号分隔列表。标记是键-值对,例如 “foo=bar, plan=prod”。有关标记 Azure 资源的详细信息,请参见 Microsoft Azure 文档中的使用标记组织 Azure 资源和管理层次结构以及 Azure 资源的标记支持
AZURE_ENVIRONMENT 可选;默认为 AzurePublicCloud。支持的云包括 AzurePublicCloudAzureChinaCloudAzureGermanCloudAzureUSGovernmentCloud
AZURE_IDENTITY_NAME 可选,如果要在不同的 Azure 帐户上使用集群,则设置此选项。要用于创建以使用不同 Azure 帐户上的集群的 AzureClusterIdentity 的名称。有关详细信息,请参见部署工作负载集群到 Azure 中的不同 Azure 帐户上的集群
AZURE_IDENTITY_NAMESPACE 可选,如果要在不同的 Azure 帐户上使用集群,则设置此选项。为使用不同 Azure 帐户上的集群而创建的 AzureClusterIdentity 的命名空间。有关详细信息,请参见部署工作负载集群到 Azure 中的不同 Azure 帐户上的集群
AZURE_LOCATION 必需。要在其中部署集群的 Azure 区域的名称。例如,eastus
AZURE_RESOURCE_GROUP 可选;默认为 CLUSTER_NAME 设置。要用于集群的 Azure 资源组的名称。每个集群必须是唯一的。默认情况下 AZURE_RESOURCE_GROUPAZURE_VNET_RESOURCE_GROUP 相同。
AZURE_SSH_PUBLIC_KEY_B64 必需。在将管理集群部署到 Microsoft Azure 中创建的 SSH 公钥已转换为 base64 并移除了换行符。例如,…c3NoLXJzYSBB [] vdGFsLmlv
AZURE_SUBSCRIPTION_ID 必需。Azure 订阅的订阅 ID。
AZURE_TENANT_ID 必需。Azure 帐户的租户 ID。
网络
AZURE_CONTROL_PLANE_OUTBOUND_LB_FRONTEND_IP_COUNT 可选;默认为 1。设置此项可向具有大量预期出站连接的环境中的控制平面负载均衡器添加多个前端 IP 地址。
AZURE_ENABLE_ACCELERATED_NETWORKING 可选;默认为 true。设置为 false,以在具有 4 个以上 CPU 的虚拟机上停用 Azure 加速网络连接。
AZURE_ENABLE_CONTROL_PLANE_OUTBOUND_LB 可选。如果 AZURE_ENABLE_PRIVATE_CLUSTERtrue 并且您要启用控制平面的出站负载均衡器上的公用 IP,则将此设置为 true
AZURE_ENABLE_NODE_OUTBOUND_LB 可选。如果 AZURE_ENABLE_PRIVATE_CLUSTERtrue 并且您要在出站负载均衡器上为工作节点启用公用 IP 地址,则将此变量设置为 true
AZURE_ENABLE_PRIVATE_CLUSTER 可选。将此项设置为 true 以将集群配置为专用,并将 Azure 内部负载均衡器 (ILB) 用于其入站流量。有关详细信息,请参见 Azure 专用集群
AZURE_FRONTEND_PRIVATE_IP 可选。如果 AZURE_ENABLE_PRIVATE_CLUSTERtrue,并且您希望覆盖默认的内部负载均衡器地址 10.0.0.100,则设置此选项。
AZURE_NODE_OUTBOUND_LB_FRONTEND_IP_COUNT 可选;默认为 1。设置此项可向具有大量预期出站连接的环境中的工作节点负载均衡器添加多个前端 IP 地址。
AZURE_NODE_OUTBOUND_LB_IDLE_TIMEOUT_IN_MINUTES 可选;默认为 4。设置此选项可指定通过工作节点出站负载均衡器保持打开的出站 TCP 连接的分钟数。
AZURE_VNET_CIDR 可选,如果要将集群部署到新的 VNet 和子网并覆盖默认值,则设置此选项。默认情况下,AZURE_VNET_CIDR 设置为 10.0.0.0/16AZURE_CONTROL_PLANE_SUBNET_CIDR 设置为 10.0.0.0/24AZURE_NODE_SUBNET_CIDR 设置为 10.0.1.0/24
AZURE_CONTROL_PLANE_SUBNET_CIDR
AZURE_NODE_SUBNET_CIDR
AZURE_VNET_NAME 可选,如果要将集群部署到现有 VNet 和子网,或者为新的 VNet 和子网分配名称,则设置此选项
AZURE_CONTROL_PLANE_SUBNET_NAME
AZURE_NODE_SUBNET_NAME
AZURE_VNET_RESOURCE_GROUP 可选;默认为 AZURE_RESOURCE_GROUP 的值。
控制平面虚拟机
AZURE_CONTROL_PLANE_DATA_DISK_SIZE_GIB 可选。数据磁盘和操作系统磁盘的大小,如 Azure 文档磁盘角色所述,用于控制平面虚拟机(以 GB 为单位)。示例:128256.控制平面节点始终使用数据磁盘进行置备。
AZURE_CONTROL_PLANE_OS_DISK_SIZE_GIB
AZURE_CONTROL_PLANE_MACHINE_TYPE 可选;默认为 Standard_D2s_v3。控制平面节点虚拟机的 Azure 虚拟机大小,选择以适合预期的工作负载。Azure 实例类型的最低要求是 2 个 CPU 和 8 GB 内存。有关可能的值,请参见 Tanzu Kubernetes Grid 安装程序界面。
AZURE_CONTROL_PLANE_OS_DISK_STORAGE_ACCOUNT_TYPE 可选。控制平面虚拟机磁盘的 Azure 存储帐户类型。例如:Premium_LRS
工作节点虚拟机
AZURE_ENABLE_NODE_DATA_DISK 可选;默认为 false。设置为 true,可为每个工作节点虚拟机置备一个数据磁盘,如 Azure 文档磁盘角色所述。
AZURE_NODE_DATA_DISK_SIZE_GIB 可选。如果 AZURE_ENABLE_NODE_DATA_DISKtrue,则设置此变量。工作线程虚拟机的数据磁盘大小(如 Azure 文档磁盘角色所述),以 GB 为单位。示例:128256.
AZURE_NODE_OS_DISK_SIZE_GIB 可选。工作线程虚拟机的操作系统磁盘大小(如 Azure 文档磁盘角色所述),以 GB 为单位。示例:128256.
AZURE_NODE_MACHINE_TYPE 可选。工作节点虚拟机的 Azure 虚拟机大小,选择以适应预期的工作负载。默认值为 Standard_D2s_v3。有关可能的值,请参见 Tanzu Kubernetes Grid 安装程序界面。
AZURE_NODE_OS_DISK_STORAGE_ACCOUNT_TYPE 可选。如果 AZURE_ENABLE_NODE_DATA_DISKtrue,则设置此变量。工作线程虚拟机磁盘的 Azure 存储帐户类型。例如:Premium_LRS

配置值优先级

Tanzu CLI 创建集群时,它会从多个源读取本主题中列出的变量的值。如果这些源发生冲突,则会按以下降序优先解决冲突:

处理层(按降序排序) 示例
1.在安装程序界面中设置的管理集群配置变量 在由 –ui 选项启动的安装程序界面中输入,并写入到集群配置文件中。文件位置默认为 ~/.config/tanzu/tkg/clusterconfigs/ 已选择 Standard_D2s_v3 的“工作节点实例类型”下拉列表
2.在本地环境中设置的集群配置变量 在 shell 中设置。 export AZURE_NODE_MACHINE_TYPE=Standard_D2s_v3
3.使用 tanzu config set env. 在 Tanzu CLI 中设置的集群配置变量。 在 shell 中设置;已保存在全局 Tanzu CLI 配置文件 ~/.config/tanzu/config.yaml 中。 tanzu config set env.AZURE_NODE_MACHINE_TYPE Standard_D2s_v3
4.在集群配置文件中设置的集群配置变量 在传递给 tanzu management-cluster createtanzu cluster create–file 选项的文件中设置。文件默认为 ~/.config/tanzu/tkg/cluster-config.yaml AZURE_NODE_MACHINE_TYPE: Standard_D2s_v3
5.出厂默认配置值 providers/config_default.yaml 中设置。请勿修改此文件。 AZURE_NODE_MACHINE_TYPE: “Standard_D2s_v3”

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