Масштабирование нескольких пулов узлов kubernetes в Azure - PullRequest
0 голосов
/ 07 октября 2019

Я нахожусь в процессе создания функции для планирования масштабирования пула узлов на Azure.

Это было довольно легко с помощью модуля AKS и создания функции для масштабирования пула узлов, но теперь команда разработчиков начала использовать множественные пулы узлов в той же службе kubernetes, обычно я просто использовал бы Set-AzAks какfollow

Set-AzAks -Name <name> -ResourceGroupName <rgname> -NodeCount 1

Но я не могу указать отдельные пулы узлов в команде. Мне удалось использовать инструмент Az CLI для получения функциональности, которую я хочу сделать вручную, но я действительно хочу использовать учетную запись автоматизации Azure для этого.

Любая помощь будет оценена

1 Ответ

1 голос
/ 09 октября 2019

Это проблема , которая уже существовала в Github. Поэтому я думаю, что это не очень хороший способ использовать команду PowerShell Set-AzAks для масштабирования количества узлов AKS в текущей ситуации.

Для этого я рекомендую использовать Azure REST API Управляемые кластеры- Создайте или обновите через PowerShell, он также будет отлично работать в качестве команд консоли Azure для вас.

Обновление:

Как вы пожелаете, я покажуНиже приведен пример:

$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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...