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

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

缩放群集

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

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

节点将始终从代理池的末尾添加或删除。 删除之前,将封锁和清空节点。

scale 命令的参数

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

参数 Example Description
azure-env AzureStackCloud 在 Azure Stack Hub 上,环境名称应为 AzureStackCloud
位置 本地的 Azure Stack Hub 实例的区域。 对于 ASDK,区域设置为 local.
resource-group kube-rg 包含群集的资源组的名称。
订阅ID 包含群集使用的资源的订阅的 GUID。 确保您的订阅有足够的配额以进行扩展。
客户端ID 用于从 AKS 引擎创建群集的服务主体的客户端 ID。
client-secret 创建群集时使用的服务主体机密。
API模型 kube-rg/apimodel.json 群集定义文件的路径(apimodel.json)。 该文件可能位于: _output/<dnsPrefix>/apimodel.json
新节点计数 9 所需节点计数。
apiserver 主服务器 FQDN。 缩小规模时需要。
身份识别系统 adfs 可选。 如果使用 Active Directory 联合服务(AD FS),请指定标识管理解决方案。

在 Azure Stack Hub 中缩放群集时,必须指定 --azure-env 参数。 有关 AKS 引擎 缩放 命令中使用的参数及其值的详细信息,请参阅 Scale - parameters

用于扩展集群的命令

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

注释

对于 AKSe 版本 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

后续步骤