Настройка azureSubscriptionEndpoint - PullRequest
0 голосов
/ 13 февраля 2020

Поэтому я пытаюсь настроить задачу, которая просто применяет манифесты, основываясь на документации здесь .

Вот что у меня есть:

variables:
  azureSubscriptionEndpoint: '<UID>'
  # azureSubscriptionEndpoint: 'Pay-As-You-Go'
  # azureSubscriptionEndpoint: 'Pay-As-You-Go (<UID>)'
  azureResourceGroup: `test-app`
  kubernetesCluster: `testappaks`

stages:
- stage: Manifests
  displayName: Apply Manifests
  dependsOn: Changes
  condition: eq(dependencies.Changes.outputs['Myvariable.Manifests'], 'true') 
  jobs:
  - job: Ingress
    displayName: Apply Ingress Manifest
    pool :
      vmImage: $(vmImageName)
    steps:
    - task: Kubernetes@1
      displayName: kubectl apply using arguments
      inputs:
        connectionType: Azure Resource Manager
        azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
        azureResourceGroup: $(azureResourceGroup)
        kubernetesCluster: $(kubernetesCluster)
        command: apply
        arguments: -f manifests/azure-ingress.yaml

Когда он запускает конвейер, я получаю эту ошибку:

enter image description here

Нажатие на «Авторизовать ресурсы» просто говорит:

enter image description here

  • Я зашел в «Настройки проекта»> «Подключения служб *», где я не вижу azureSubscriptionEndpoint
  • Я пытался добавить «Новое сервисное соединение» с Azure Classi c, Azure Resource Manager и вызовом его azureSubscriptionEndpoint, что не решает проблему
  • Я попытался добавить строку подписки, которая не разрешает проблема

В основном, интересно, что мне нужно сделать, чтобы решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Я шел по правильному пути, но обнаружил, что мне нужно назвать новое подключение к услуге после идентификационного номера подписки. По крайней мере, это единственный раз, когда он работает - это не с каким-либо другим именем.

Так что шаги для меня были:

  1. «Настройки проекта»
  2. "Сервисные подключения"
  3. "Новое сервисное подключение"
  4. "Azure Диспетчер ресурсов"
  5. "Принципал службы (автоматизированный c)"
  6. Тогда это были параметры, которые я использовал для настройки нового сервисного соединения:
    • Уровень охвата: подписка
    • Подписка: выбрал мою подписку ("Pay-As-You- Go ( ) ")
    • Группа ресурсов: группа ресурсов AKS, а не та, которую она автоматически создает
    • Имя подключения службы:
    • Предоставление разрешения доступа всем конвейерам: проверено
  7. Сохранить

После этого azure-pipelines.yml нормально выполнил эту задачу и последующие Kubernetes@1 задачи, используя те же переменные.

0 голосов
/ 13 февраля 2020

Я думаю, вы просто упускаете понятие. $(azureSubscriptionEndpoint) - это переменная, которую нужно определить в определении конвейера yaml.

variables:
    azureSubscriptionEndpoint: Contoso
    azureContainerRegistry: contoso.azurecr.io
    azureResourceGroup: Contoso
    kubernetesCluster: Contoso

steps:
- task: Kubernetes@1
  displayName: kubectl apply
  inputs:
    connectionType: Azure Resource Manager
    azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
    azureResourceGroup: $(azureResourceGroup)
    kubernetesCluster: $(kubernetesCluster)

Так что в приведенном выше примере ожидается, что у вас есть Service Connection с именем Contoso.

При запуске трубопровода он разрешит azureSubscriptionEndpoint на основе значения, установленного для переменной $(azureSubscriptionEndpoint). Вы хотите определить это сервисное соединение следующим образом .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...