在Azure上扩展多个kubernetes节点池

时间:2019-10-07 11:19:02

标签: azure powershell kubernetes azure-kubernetes

我正在创建一个函数来计划Azure上节点池扩展的功能。

使用AKS模块并创建一个扩展节点池的功能相当容易,但是现在开发团队已经开始在同一kubernetes服务中使用多个节点池,通常我会按照以下方式使用Set-AzAks

jQuery(document).ready(function($){

    $( '#FormID #area' ).attr( 'placeholder', "area in m\u00B2 approx.");
    // here #FormID is the ID of form and #area is id of your text field.

});

但是我似乎无法在命令中指定单个节点池。我已经能够使用az CLI工具来获得我想要手动执行的功能,但是我确实想使用azure自动化帐户来执行此操作。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

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

为此,我建议您通过PowerShell使用Azure REST API Managed Clusters - Create Or Update,它也可以完美地用作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中描述属性。