Kubectl не работает при наличии разрешенных диапазонов AKS API - PullRequest
0 голосов
/ 07 апреля 2020

Мы внедряем безопасность в нашем кластере k8s в Azure (управляемый Kubernetes - AKS).
Кластер развертывается через шаблон ARM, конфигурация выглядит следующим образом:
1 узел, набор доступности, стандартная загрузка балансировщик, Nginx входной контроллер, набор приложений ddeployed.
В соответствии с документом мы обновили кластер для защиты сервера API от целого rnet:

    az aks update --resource-group xxxxxxxx-xxx-xx-xx-xx-x -n xx-xx-xxx-aksCluster 
--api-server-authorized-ip-ranges XX.XX.X.0/24,XX.XX.X.0/24,XX.XXX.XX.0/24,XX.XXX.XXX.XXX/32 
--subscription xxxxx-xxx-xxx-xxx-xxxxxx

Операция успешно завершена.

При попытке получить журналы из модуля возникает следующая ошибка:

    kubectl get pods -n lims-dev

    NAME                                 READY   STATUS    RESTARTS   AGE
    XXXX-76df44bc6d-9wdxr             1/1     Running   0          14h

    kubectl logs XXXXX-76df44bc6d-9wdxr -n lims-dev

    Error from server: Get https://aks-agentpool-XXXXXX-1:10250/containerLogs/XXXX/XXXXX-
76df44bc6d-9wdxr/listener: dial tcp 10.22.0.35:10250: i/o timeout

При попытке развертывания с использованием Azure DevOps возникает та же ошибка:

            2020-04-07T04:49:49.0409528Z ##[error]Error: error installing: 
    Post https://xxxxx-xxxx-xxxx-akscluster-dns-xxxxxxx.hcp.eastus2.azmk8s.io:443
/apis/extensions/v1beta1/namespaces/kube-system/deployments: 
dial tcp XX.XX.XXX.142:443: i/o timeout

Конечно, su bnet, в котором я запускаю kubectl, добавляется в разрешенный диапазон.
Я пытаюсь понять, в чем причина проблемы.

1 Ответ

0 голосов
/ 08 апреля 2020

Вам также необходимо указать параметр --load-balancer-outbound-ips после создания кластера AKS. Этот IP-адрес будет использоваться вашими модулями для связи с внешним миром, а также с сервером AKS API. Смотри здесь

...