我正在创建一个函数来计划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自动化帐户来执行此操作。
任何帮助将不胜感激
答案 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中描述属性。