Как установить AKS с включенным Calico
Это определение ясно упоминает, что вы можете использовать networkPolicy
собственность как часть networkProfile
и установите его на Калико, но это не работает. AKS создает только тайм-аут со всеми узлами, находящимися в Not Ready
государство.
1 ответ
Решение
Вам нужно включить базовую функцию провайдера:
az feature list --query "[?contains(name, 'Container')].{name:name, type:type}" # example to list all features
az feature register --name EnableNetworkPolicy --namespace Microsoft.ContainerService
az provider register -n Microsoft.ContainerService
после этого вы можете просто использовать REST API\ARM Template для создания AKS:
{
"location": "location1",
"tags": {
"tier": "production",
"archv2": ""
},
"properties": {
"kubernetesVersion": "1.12.4", // has to be 1.12.x, 1.11.x doesnt support calico AFAIK
"dnsPrefix": "dnsprefix1",
"agentPoolProfiles": [
{
"name": "nodepool1",
"count": 3,
"vmSize": "Standard_DS1_v2",
"osType": "Linux"
}
],
"linuxProfile": {
"adminUsername": "azureuser",
"ssh": {
"publicKeys": [
{
"keyData": "keydata"
}
]
}
},
"servicePrincipalProfile": {
"clientId": "clientid",
"secret": "secret"
},
"addonProfiles": {},
"enableRBAC": false,
"networkProfile": {
"networkPlugin": "azure",
"networkPolicy": "calico", // set policy here
"serviceCidr": "xxx",
"dnsServiceIP": "yyy",
"dockerBridgeCidr": "zzz"
}
}
}
пс. К сожалению, helm не работает на момент написания (я подозреваю, что это потому, что kubectl port-forward
который руль полагается не работает также).