Azure devops с собственным агентом: невозможно развернуть в кластере aks

я хочу создать конвейер выпуска azure devops, который создает образ докера и развертывает его в кластере aks.

сборка и развертывание в acr работают хорошо, но развертывание в aks не работает.

это результаты после запуска конвейера:

и это журналы ошибок:

2023-01-08T22:20:48.7666031Z ##[section]Starting: deploy
2023-01-08T22:20:48.7737773Z ==============================================================================
2023-01-08T22:20:48.7741356Z Task         : Deploy to Kubernetes
2023-01-08T22:20:48.7745738Z Description  : Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts
2023-01-08T22:20:48.7750005Z Version      : 0.212.0
2023-01-08T22:20:48.7752721Z Author       : Microsoft Corporation
2023-01-08T22:20:48.7755489Z Help         : https://aka.ms/azpipes-k8s-manifest-tsg
2023-01-08T22:20:48.7757618Z ==============================================================================
2023-01-08T22:20:49.2976400Z Downloading: https://storage.googleapis.com/kubernetes-release/release/stable.txt
2023-01-08T22:20:49.8627101Z Found tool in cache: kubectl 1.26.0 x64
2023-01-08T22:20:50.6940515Z ==============================================================================
2023-01-08T22:20:50.6942077Z            Kubectl Client Version: v1.26.0
2023-01-08T22:20:50.6943172Z            Kubectl Server Version: v1.23.12
2023-01-08T22:20:50.6944430Z ==============================================================================
2023-01-08T22:20:50.7161602Z [command]/azp/_work/_tool/kubectl/1.26.0/x64/kubectl apply -f /azp/_work/_temp/Deployment_acrdemo2ss-deployment_1673216450713,/azp/_work/_temp/Service_acrdemo2ss-loadbalancer-service_1673216450713 --namespace dev
2023-01-08T22:20:50.9679948Z Unable to connect to the server: dial tcp: lookup tfkcluster-dns-074e9373.hcp.canadacentral.azmk8s.io on 192.168.1.1:53: no such host
2023-01-08T22:20:50.9771688Z ##[error]Unable to connect to the server: dial tcp: lookup tfkcluster-dns-074e9373.hcp.canadacentral.azmk8s.io on 192.168.1.1:53: no such host
2023-01-08T22:20:50.9809463Z ##[section]Finishing: deploy

это мое сервисное подключение:

Я попытался воспроизвести то же самое в своей среде, создав кластер AKS (общедоступный), конвейеры CI / CD, настроив собственный агент (ubuntu 20.04). Я не вижу проблем в своей среде при развертывании в кластере AKS. Итак, чтобы опубликовать в качестве ответа, чтобы помочь в дальнейшем, мне потребуется еще несколько подробностей. 1. Ваша среда настроена в частной сети или в общедоступной? 2. Виртуальная машина и AKS находятся в одной сети?

Sourav 09.01.2023 12:10
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не удается подключиться к серверу: наберите tcp: lookup xxxx on 192.168.1.1:53: такого хоста нет

Похоже, вы используете частный кластер (параметр «Частный кластер» включен при создании кластера AKS).

Kubectl — это клиент управления kubernetes. Это внешний поставщик подключения для подключения к кластеру kubernetes. Мы не можем подключиться к частному кластеру извне.

Однако мы не можем отключить эту опцию после создания кластера. Нам нужно удалить кластер и создать новый с отключенной опцией «Private Cluster».

В качестве альтернативы вы можете настроить другой локальный агент, который будет находиться в той же виртуальной сети, что и кластер, и иметь доступ к AKS и Azure Pipelines.

См. Варианты подключения к приватному кластеру

Конечная точка сервера API не имеет общедоступного IP-адреса. Для управления API сервер, вам нужно будет использовать виртуальную машину, которая имеет доступ к кластеру AKS Виртуальная сеть Azure (VNet). Есть несколько вариантов для установление сетевого подключения к частному кластеру.

  • Создайте виртуальную машину в той же виртуальной сети Azure (VNet), что и кластер AKS.
  • Используйте виртуальную машину в отдельной сети и настройте пиринг виртуальных сетей. См. раздел ниже для получения дополнительной информации об этой опции.
  • Используйте Express Route или VPN-подключение.
  • Используйте функцию вызова команды AKS.
  • Используйте частное подключение к конечной точке.

Создать виртуальную машину в той же виртуальной сети, что и кластер AKS, проще всего. вариант. Express Route и VPN увеличивают расходы и требуют дополнительных сложность сети. Виртуальный пиринг сети требует планирования ваши сетевые диапазоны CIDR, чтобы гарантировать отсутствие перекрывающихся диапазонов.

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