此参考列出了可以为 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 create 的 CLUSTER_NAME 参数覆盖。对于管理集群,如果未指定 CLUSTER_NAME ,则会生成唯一名称。 |
CLUSTER_PLAN |
✔ | ✔ | 必需。设置为 dev 、 prod 或自定义计划,如 新计划 nginx 所示。dev 计划部署具有单个控制平面节点的集群。prod 计划将部署具有三个控制平面节点的高可用性集群。 |
CNI |
✖ | ✔ | 可选;默认为 antrea 。容器网络接口。请勿覆盖管理集群的默认值。对于工作负载集群,可以将 CNI 设置为 antrea 、calico 或 none 。Windows 不支持 calico 选项。有关详细信息,请参见部署具有非默认 CNI 的集群。要自定义 Antrea 配置,请参见下面的 Antrea CNI 配置。 |
CONTROLPLANE_CERTIFICATE_ROTATION_ENABLED |
✔ | ✔ | 可选;默认为 false 。如果希望控制平面节点虚拟机证书在证书过期之前自动续订,请设置为 true 。有关详细信息,请参见控制平面节点证书自动续订。 |
CONTROLPLANE_CERTIFICATE_ROTATION_DAYS_BEFORE |
✔ | ✔ | 可选;默认为 90 。如果 CONTROLPLANE_CERTIFICATE_ROTATION_ENABLED 为 true ,请将证书过期日期之前的天数设置为自动续订集群节点证书。有关详细信息,请参见控制平面节点证书自动续订。 |
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 。对于管理集群:将 |
INFRASTRUCTURE_PROVIDER |
✔ | ✔ | 必需。设置为 vsphere 、aws 、azure 或 tkg-service-vsphere 。 |
NAMESPACE |
✖ | ✔ | 可选;默认为 default ,以将工作负载集群部署到名为 default 的命名空间。 |
SERVICE_CIDR |
✔ | ✔ | 可选;默认为 100.64.0.0/13 。要用于 Kubernetes 服务的 CIDR 范围。仅当默认范围不可用时才更改此值。 |
如果设置 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_id 和 secret 。此设置将存储在一个密钥中,该密钥将由 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_name 、email 或 code 。此设置对应于 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 。 |
如果设置 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 |
✔ | ✔ | 可选。部署控制平面节点多于默认情况下定义的 dev 和 prod 计划的工作负载集群。指定的控制平面节点数必须为奇数。 |
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 |
✔ | ✔ | 可选。控制平面节点虚拟机的大小。覆盖 SIZE 和 VSPHERE_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,请设置 small 、medium 、large 或 extra-large ,如预定义节点大小中所述。对于 AWS,请设置实例类型,例如 t3.small 。对于 Azure,请设置实例类型,例如 Standard_D2s_v3 。 |
WORKER_MACHINE_COUNT |
✔ | ✔ | 可选。部署工作负载集群,其工作节点多于 dev 和 prod 计划默认定义的值。 |
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 。 |
CUSTOM_TDNF_REPOSITORY_CERTIFICATE |
✔ | ✔ | (技术预览版) 可选。如果使用具有自签名证书的自定义 tdnf 存储库服务器,而不是 Photon 默认 tdnf 存储库服务器,请进行设置。输入 tdnf 存储库服务器的 base64 编码证书的内容。 它将删除 |
为集群范围的 Pod 安全准入 (PSA) 控制器配置 Pod 安全标准。控制平面和工作节点,以及节点实例运行的操作系统。有关详细信息,请参见 Pod 安全准入控制器。
变量 | 可以在…中设置 | 描述 | |
---|---|---|---|
管理集群 YAML | 工作负载集群 YAML | ||
POD_SECURITY_STANDARD_AUDIT |
✖ | ✔ | 可选,默认为 restricted 。为集群范围 PSA 控制器的 audit 模式设置安全策略。可能值:restricted 、baseline 和 privileged 。 |
POD_SECURITY_STANDARD_DEACTIVATED |
✖ | ✔ | 可选,默认为 false 。设置为 true 以停用集群范围的 PSA。 |
POD_SECURITY_STANDARD_ENFORCE |
✖ | ✔ | 可选,默认为无值。为集群范围 PSA 控制器的 enforce 模式设置安全策略。可能值:restricted 、baseline 和 privileged 。 |
POD_SECURITY_STANDARD_WARN |
✖ | ✔ | 可选,默认为 restricted 。为集群范围 PSA 控制器的 warn 模式设置安全策略。可能值:restricted 、baseline 和 privileged 。 |
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-interval 和 election-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 的数量 |
如果 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 以将来自 kubelet
、containerd
和控制平面的出站 HTTP 和 HTTPS 流量发送到代理。
Tanzu Kubernetes Grid 允许为以下任一项启用代理:
有关详细信息,请参见创建管理集群配置文件中的配置代理。
变量 | 可以在…中设置 | 描述 | |
---|---|---|---|
管理集群 YAML | 工作负载集群 YAML | ||
TKG_HTTP_PROXY_ENABLED |
✔ | ✔ | 可选,要将出站 HTTP(S) 流量从管理集群发送到代理(例如在 Internet 受限的环境中),请将此项设置为 |
TKG_HTTP_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 |
✔ | ✔ | 可选。仅当 一个或多个必须绕过 HTTP(S) 代理的网络 CIDR 或主机名,以逗号分隔并列出,不含空格或通配符( 例如, 在内部,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 |
✔ | ✔ | (技术预览版) 可选。将以下设置放入 导出 HTTP_PROXY=$TKG_HTTP_PROXY 默认情况下,当用户通过 SSH 登录到 TKG 节点并运行命令时,命令将使用定义的变量。系统进程不受影响。 |
如果 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 |
✔ | ✔ | 可选;默认为 注意:有效时间单位为 |
ANTREA_FLOWEXPORTER_COLLECTOR_ADDRESS |
✔ | ✔ | 可选。此变量提供 IPFIX 收集器地址。包括引号(““ )。默认值为 “flow-aggregator.flow-aggregator.svc:4739:tls” 。有关详细信息,请参见 Antrea 文档中的 Antrea 中的网络流量可见性。 |
ANTREA_FLOWEXPORTER_IDLE_TIMEOUT |
✔ | ✔ | 可选;默认为 注意:有效时间单位为 |
ANTREA_FLOWEXPORTER_POLL_INTERVAL |
✔ | ✔ | 可选;默认为 注意:有效时间单位为 |
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 |
✔ | ✔ | 可选;默认为 注意:
|
ANTREA_TRANSPORT_INTERFACE |
✔ | ✔ | 可选。节点上用于通过隧道传输或路由流量的接口的名称。包括引号(““ )。例如,“eth0” 。 |
ANTREA_TRANSPORT_INTERFACE_CIDRS |
✔ | ✔ | 可选。节点上用于隧道传输或路由流量的接口的网络 CIDR。包括引号(”” )。例如,“10.0.0.2/24” 。 |
如果要为管理和工作负载集群配置计算机运行状况检查,请设置以下变量。有关详细信息,请参见创建管理集群配置文件中的配置计算机运行状况检查。有关如何在部署集群后执行计算机运行状况检查操作的信息,请参见为工作负载集群配置计算机运行状况检查。
变量 | 可以在…中设置 | 描述 | |
---|---|---|---|
管理集群 YAML | 工作负载集群 YAML | ||
ENABLE_MHC |
✔ | 基于类:✖ 基于计划:✔ |
可选,设置为 true 或 false 以在目标管理集群或工作负载集群的控制平面和工作节点上激活或停用 MachineHealthCheck 控制器。或者为控制平面和工作节点留空并单独设置 ENABLE_MHC_CONTROL_PLANE 和 ENABLE_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 |
✔ | 基于类:✖ 基于计划:✔ |
可选;默认为 12m 。MachineHealthCheck 控制器在将计算机视为不正常并重新创建之前允许节点的 Ready 条件保持 False 的时间 |
MHC_UNKNOWN_STATUS_TIMEOUT |
✔ | 可选;默认为 5m 。MachineHealthCheck 控制器在将计算机视为不正常并重新创建之前允许节点的 Ready 条件保持 Unknown 的时间 |
|
NODE_STARTUP_TIMEOUT |
✔ | 可选;默认为 20m 。MachineHealthCheck 控制器在将计算机视为不正常并重新创建之前等待节点加入集群的时间。 |
使用下表确定如何配置 ENABLE_MHC
、ENABLE_MHC_CONTROL_PLANE
和 ENABLE_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_1 、ADDITIONAL_IMAGE_REGISTRY_2 、ADDITIONAL_IMAGE_REGISTRY_3 |
✔ | ✔ | 仅基于类的工作负载集群和独立管理集群。除了由 TKG_CUSTOM_IMAGE_REPOSITORY 设置的主映像注册表以外,最多三个可信专用注册表的 IP 地址或 FQDN,以供工作负载集群节点访问。请参见基于类的集群的受信任注册表。 |
ADDITIONAL_IMAGE_REGISTRY_1_CA_CERTIFICATE 、ADDITIONAL_IMAGE_REGISTRY_2_CA_CERTIFICATE 、ADDITIONAL_IMAGE_REGISTRY_3_CA_CERTIFICATE |
✔ | ✔ | 仅基于类的工作负载集群和独立管理集群。采用 base64 编码格式的专用映像注册表的 CA 证书,这些证书配置了上述 ADDITIONAL_IMAGE_REGISTRY- 。例如,…ADDITIONAL_IMAGE_REGISTRY_1_CA_CERTIFICATE: “LS0t[]tLS0tLQ==” 。 |
ADDITIONAL_IMAGE_REGISTRY_1_SKIP_TLS_VERIFY 、ADDITIONAL_IMAGE_REGISTRY_2_SKIP_TLS_VERIFY 、ADDITIONAL_IMAGE_REGISTRY_3_SKIP_TLS_VERIFY |
✔ | ✔ | 仅基于类的工作负载集群和独立管理集群。对于配置有上述 ADDITIONAL_IMAGE_REGISTRY-、使用自签名证书但不使用 |
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。
变量 | 可以在…中设置 | 描述 | |
---|---|---|---|
管理集群 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 |
✔ | ✔ | 可选。设置为 eth0 、eth1 等。网络接口名称,例如以太网接口。默认为 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_0 、VSPHERE_AZ_1 、VSPHERE_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 ,您可以:
|
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_INSECURE 为 false ,则此字段为必需。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 配置为 L4 负载均衡器服务的信息,请参见 Kube-VIP 负载均衡器。
变量 | 可以在…中设置 | 描述 | |
---|---|---|---|
管理集群 YAML | 工作负载集群 YAML | ||
KUBEVIP_LOADBALANCER_ENABLE |
✖ | ✔ | 可选;默认为 false 。设置为 true 或 false 。启用 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。
变量 | 可以在…中设置 | 描述 | |
---|---|---|---|
管理集群 YAML | 工作负载集群 YAML | ||
AVI_ENABLE |
✔ | ✖ | 可选;默认为 false 。设置为 true 或 false 。启用 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 是在 ClusterIP 、NodePort 还是 NodePortLocal 模式下运行。默认为 NodePort 。 |
AVI_INGRESS_SHARD_VS_SIZE |
✔ | ✖ | 可选。AKO 对第 7 层输入对象使用共享逻辑。共享 VS 涉及托管由一个虚拟 IP 或 VIP 托管的多个不安全或安全输入。设置为 LARGE 、MEDIUM 或 SMALL 。默认值 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 |
✔ | ✖ | 必需。部署控制器主机时为其设置的管理员用户名。 |
这些变量配置可路由 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_USERNAME 和 NSXT_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 身份验证访问令牌。 |
这些变量配置集群内 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.controlPlane 和 topology.workers 定义中的注释 topology.cluster.x-k8s.io/upgrade-concurrency 设置。 |
MANAGEMENT_NODE_IPAM_IP_POOL_SUBNET_PREFIX |
✔ | ✖ | 独立管理集群中 IPAM 池地址的子网的网络前缀,例如,“24” |
这些变量在 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 集群配置文件。
变量 | 可以在…中设置 | 描述 | |
---|---|---|---|
管理集群 YAML | 工作负载集群 YAML | ||
AWS_ACCESS_KEY_ID |
✔ | ✔ | 可选。AWS 帐户的访问密钥 ID。这是一个用于对 AWS 进行身份验证的选项。请参见配置 AWS 帐户凭据。 只能使用 AWS_PROFILE 或 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 的组合,但不能同时使用两者。 |
AWS_CONTROL_PLANE_OS_DISK_SIZE_GIB |
✔ | ✔ | 可选。用于控制平面节点的磁盘大小。覆盖由 CONTROL_PLANE_MACHINE_TYPE 、SIZE 或 CONTROLPLANE_SIZE 设置的虚拟机类型的默认磁盘大小。 |
AWS_LOAD_BALANCER_SCHEME_INTERNAL |
✔ | ✔ | 可选。对于管理集群,将负载均衡器方案设置为内部,从而阻止通过 Internet 进行访问。对于工作负载集群,确保管理集群在共享 VPC 或对等时在内部访问工作负载集群的负载均衡器。请参见将内部负载均衡器用于 Kubernetes API 服务器。 |
AWS_NODE_AZ |
✔ | ✔ | 必需。所选区域中要用作此管理集群可用区的 AWS 可用区的名称。可用区名称与 AWS 区域名称相同,具有单个小写字母后缀,例如 a 、b 、c 。例如,us-west-2a 。要部署具有三个控制平面节点的 prod 管理集群,还必须设置 AWS_NODE_AZ_1 和 AWS_NODE_AZ_2 。其中每个可用区中的字母后缀必须是唯一的。例如,us-west-2a 、us-west-2b 和 us-west-2c 。 |
AWS_NODE_OS_DISK_SIZE_GIB |
✔ | ✔ | 可选。工作节点的磁盘大小。覆盖由 NODE_MACHINE_TYPE 、SIZE 或 WORKER_SIZE 设置的虚拟机类型的默认磁盘大小。 |
AWS_NODE_AZ_1 和 AWS_NODE_AZ_2 |
✔ | ✔ | 可选。如果要部署具有三个控制平面节点的 prod 管理集群,请设置这些变量。两个可用区必须与 AWS_NODE_AZ 位于同一个区域中。有关详细信息,请参见上面的 AWS_NODE_AZ 。例如,us-west-2a 、ap-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_PROFILE 或 AWS_ACCESS_KEY_ID 和 AWS_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_1 和 AWS_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_1 和 AWS_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-east 和 us-gov-west 区域。如果已将其他区域设置为环境变量(例如,在部署管理集群为 AWS中),则必须取消设置该环境变量。例如,us-west-2 、ap-northeast-2 等。 |
AWS_SECRET_ACCESS_KEY |
✔ | ✔ | 可选。AWS 帐户的私有访问密钥。这是一个用于对 AWS 进行身份验证的选项。请参见配置 AWS 帐户凭据。 只能使用 AWS_PROFILE 或 AWS_ACCESS_KEY_ID 和 AWS_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_ID 和 AWS_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 |
✔ | ✔ | 如果未设置云无关的 SIZE 或 CONTROLPLANE_SIZE ,则为必需。要用于集群控制平面节点的 Amazon EC2 实例类型,例如 t3.small 或 m5.large 。 |
NODE_MACHINE_TYPE |
✔ | ✔ | 如果未设置云无关的 SIZE 或 WORKER_SIZE ,则为必需。要用于集群工作节点的 Amazon EC2 实例类型,例如 t3.small 或 m5.large 。 |
下表中的变量是部署工作负载集群到 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 。支持的云包括 AzurePublicCloud 、AzureChinaCloud 、AzureGermanCloud 、AzureUSGovernmentCloud 。 |
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_GROUP 和 AZURE_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_CLUSTER 为 true 并且您要启用控制平面的出站负载均衡器上的公用 IP,则将此设置为 true 。 |
AZURE_ENABLE_NODE_OUTBOUND_LB |
✔ | ✔ | 可选。如果 AZURE_ENABLE_PRIVATE_CLUSTER 为true 并且您要在出站负载均衡器上为工作节点启用公用 IP 地址,则将此变量设置为 true 。 |
AZURE_ENABLE_PRIVATE_CLUSTER |
✔ | ✔ | 可选。将此项设置为 true 以将集群配置为专用,并将 Azure 内部负载均衡器 (ILB) 用于其入站流量。有关详细信息,请参见 Azure 专用集群。 |
AZURE_FRONTEND_PRIVATE_IP |
✔ | ✔ | 可选。如果 AZURE_ENABLE_PRIVATE_CLUSTER 为 true ,并且您希望覆盖默认的内部负载均衡器地址 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/16 ,AZURE_CONTROL_PLANE_SUBNET_CIDR 设置为 10.0.0.0/24 ,AZURE_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 为单位)。示例:128 、256 .控制平面节点始终使用数据磁盘进行置备。 |
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_DISK 为 true ,则设置此变量。工作线程虚拟机的数据磁盘大小(如 Azure 文档磁盘角色所述),以 GB 为单位。示例:128 、256 . |
AZURE_NODE_OS_DISK_SIZE_GIB |
✔ | ✔ | 可选。工作线程虚拟机的操作系统磁盘大小(如 Azure 文档磁盘角色所述),以 GB 为单位。示例:128 、256 . |
AZURE_NODE_MACHINE_TYPE |
✔ | ✔ | 可选。工作节点虚拟机的 Azure 虚拟机大小,选择以适应预期的工作负载。默认值为 Standard_D2s_v3 。有关可能的值,请参见 Tanzu Kubernetes Grid 安装程序界面。 |
AZURE_NODE_OS_DISK_STORAGE_ACCOUNT_TYPE |
✔ | ✔ | 可选。如果 AZURE_ENABLE_NODE_DATA_DISK 为 true ,则设置此变量。工作线程虚拟机磁盘的 Azure 存储帐户类型。例如:Premium_LRS 。 |
Tanzu CLI 创建集群时,它会从多个源读取本主题中列出的变量的值。如果这些源发生冲突,则会按以下降序优先解决冲突:
处理层(按降序排序) | 源 | 示例 |
---|---|---|
1.在安装程序界面中设置的管理集群配置变量 | 在由 –ui 选项启动的安装程序界面中输入,并写入到集群配置文件中。文件位置默认为 ~/.config/tanzu/tkg/clusterconfigs/ 。 |
|
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 create 或 tanzu 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” |