在azure上扩展多个kubernetes节点池 我正在创建一个函数,用于在Azure上调度节点池缩放。

在azure上扩展多个kubernetes节点池 我正在创建一个函数,用于在Azure上调度节点池缩放。,azure,powershell,kubernetes,azure-aks,Azure,Powershell,Kubernetes,Azure Aks,使用AKS模块并创建一个函数来扩展nodepool是相当容易的,但是现在开发团队已经开始在同一个kubernetes服务中使用多组节点池,通常我只使用下面的集合Azak 设置AzAks-Name-ResourceGroupName-NodeCount 1 但我似乎无法在命令中指定单个节点池。我已经能够使用az CLI工具来获得我想要的功能,但我真的想使用azure自动化帐户来实现这一点 任何帮助都将不胜感激这是一个已经存在于Github中的应用程序。因此,我认为在当前情况下,使用PowerSh

使用AKS模块并创建一个函数来扩展nodepool是相当容易的,但是现在开发团队已经开始在同一个kubernetes服务中使用多组节点池,通常我只使用下面的集合Azak

设置AzAks-Name-ResourceGroupName-NodeCount 1
但我似乎无法在命令中指定单个节点池。我已经能够使用az CLI工具来获得我想要的功能,但我真的想使用azure自动化帐户来实现这一点

任何帮助都将不胜感激

这是一个已经存在于Github中的应用程序。因此,我认为在当前情况下,使用PowerShell命令
Set AzAks
来缩放AKS节点数不是一个好方法

为此,我建议您通过PowerShell使用Azure REST API,它也可以作为Azure CLI命令完美地为您服务

更新:

如您所愿,我将向您展示以下示例:

$body = '{
  "location": "eastus",
  "properties": {
    "kubernetesVersion": "1.14.6",
    "dnsPrefix": "xxxxx",
    "agentPoolProfiles": [
      {
        "count": 2,
        "vmSize": "Standard_DS2_v2",
        "osDiskSizeGB": 100,
        "vnetSubnetID": "xxxxxxxx",
        "maxPods": 30,
        "osType": "Linux",
        "type": "AvailabilitySet",
        "orchestratorVersion": "1.14.6",
        "name": "agentpool"
      }
    ],
    "addonProfiles": {
      "httpapplicationrouting": {
        "enabled": false,
        "config": {}
      },
      "omsagent": {
        "enabled": true,
        "config": {
          "loganalyticsworkspaceresourceid": "xxxxxxxx"
        }
      }
    },
    "nodeResourceGroup": "xxxxxxxxx",
    "enableRBAC": true,
    "networkProfile": {
      "networkPlugin": "azure",
      "serviceCidr": "10.1.0.0/16",
      "dnsServiceIP": "10.1.0.10",
      "dockerBridgeCidr": "172.17.0.1/16",
      "loadBalancerSku": "Basic"
    }
  }
}'
$requestUri = "https://management.azure.com/subscriptions/{subscription_id}/resourceGroups/{your_group_name}/providers/Microsoft.ContainerService/managedClusters/{your_cluster_name}?api-version=2019-08-01"
$accessToken = "xxxxxxx"
Invoke-RestMethod -Headers @{Authorization = "Bearer $accessToken"} -Uri $requestUri -Method PUT -ContentType 'application/json' -Body $body

您可以根据需要更改正文中的上下文以及REST API中描述的属性。

能否更详细地解释如何使用REST API?我很难理解他们的文档。我应该如何指定哪些节点工具等等,这似乎有点神秘。@Shades担心我会根据您的意愿更新答案以添加PowerShell脚本。如果它对你有效,请接受它作为答案。@shades担心对你目前的情况有任何更新吗?它解决了你的问题吗?我刚刚开始尝试,我一直收到这个错误:[错误消息]远程服务器返回了一个错误:(400)错误请求。我在$body中尝试了一些不同的选项,但它仍然是same@Shadesfear您可以获取AKS集群的属性,然后根据答案更改格式。