使用 Azure Stack Hub 上的 AKS 引擎缩放 Kubernetes 群集

可以使用 scale 命令通过 AKS 引擎在 Azure Stack Hub 上缩放 Kubernetes 群集。 scale 命令重用输出目录中的群集配置文件 (apimodel.json),作为新 Azure 资源管理器部署的输入。 引擎会对指定的代理池执行缩放操作。 缩放操作完成后,引擎会更新该 apimodel.json 文件中的群集定义,以反映新的节点计数,从而反映更新的当前群集配置。

缩放群集

对于 AKS 引擎 0.73.0 及更低版本:aks-engine scale 命令可以增加或减少 aks-engine Kubernetes 群集的现有代理池中的节点数。

对于 AKS 引擎 0.75.3 及更高版本:aks-engine-azurestack scale 命令可以增加或减少 aks-engine Kubernetes 群集的现有代理池中的节点数。

将始终在代理池的末尾添加或删除节点。 删除之前,将封锁并排出节点。

scale 命令的值

scale 命令使用以下参数查找群集定义文件并更新群集。

参数 示例 说明
azure-env AzureStackCloud 在 Azure Stack Hub 上,环境名称应为 AzureStackCloud
location local Azure Stack Hub 实例的区域。 对于 ASDK,此区域设置为 local
resource-group kube-rg 包含群集的资源组的名称。
subscription-id 订阅的 GUID,该订阅包含群集使用的资源。 请确保订阅上有足够的配额来进行扩展。
client-id 通过 AKS 引擎创建群集时使用的服务主体的客户端 ID。
client-secret 创建群集时使用的服务主体机密。
api-model kube-rg/apimodel.json 群集定义文件 (apimodel.json) 的路径。 该文件可能位于:_output/<dnsPrefix>/apimodel.json
new-node-count 9 所需节点计数。
apiserver 主 FQDN。 纵向缩减时需要。
identity-system adfs 可选。 如果使用 Active Directory 联合身份验证服务 (AD FS),请指定标识管理解决方案。

缩放 Azure Stack Hub 中的群集时,必须指定 --azure-env 参数。 若要详细了解 AKS 引擎的 scale 命令中使用的参数及其值,请参阅 Scale - 参数

用于缩放群集的命令

若要缩放群集,请运行以下命令:

注意

对于 AKS 0.75.3 及更高版本,用于缩放群集的命令为 aks-engine-azurestack scale

aks-engine scale \
    --azure-env AzureStackCloud   \
    --location <for an ASDK is local> \
    --resource-group <cluster resource group>
    --subscription-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --client-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --client-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
    --api-model <path to your apomodel.json file>
    --new-node-count <desired node count> \
    --apiserver <master FQDN> \
    --identity-system adfs # required if using AD FS

后续步骤