Как установить 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 который руль полагается не работает также).

Другие вопросы по тегам