При развертывании шаблона ARM возникла ошибка конфликта для диспетчера трафика - PullRequest
0 голосов
/ 15 октября 2019

Я пришел в проект, в котором развертывание ARM с помощью шаблонов выполнялось уже несколько месяцев, и до недавнего времени все работало без проблем:

Успешное развертывание

Но затем что-то изменилось, и большинство (но не все) развертываний начали давать сбои:

Неудачные развертывания

Сообщена ошибка:

{  
 "code": "Conflict",
 "message": "Conflicting changes were detected when processing the request. This can happen when there are multiple requests trying to update one profile at the same time. Please retry your request."
}

Пока это единственное развертывание, запущенное на тот момент. На данный момент мне удалось предотвратить проблему, добавив dependsOn к ресурсу диспетчера трафика:

{
  "apiVersion": "2015-11-01",
  "type": "Microsoft.Network/trafficManagerProfiles",
  "name": "[variables('traffic-manager-name')]",
  "location": "global",
  "properties": {
    "profileStatus": "Enabled",
    "trafficRoutingMethod": "Priority",
    "dnsConfig": {
      "relativeName": "[variables('traffic-manager-name')]",
      "ttl": 30
    },
    "monitorConfig": {
      "protocol": "HTTP",
      "port": 80,
      "path": "/"
    },
    "endpoints": [
      {
        "name": "[variables('traffic-manager-endpoint')]",
        "type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
        "properties": {
          "endpointStatus": "Enabled",
          "targetResourceId": "[resourceId('Microsoft.Web/sites', variables('web-app-name'))]",
          "target": "[concat(variables('web-app-name'), '.azurewebsites.net')]",
          "weight": 1,
          "priority": 1,
          "endpointLocation": "[resourceGroup().location]"
        }
      }
    ]
  },
  "dependsOn": [
    "[resourceId('Microsoft.Web/Sites', variables('web-app-name'))]"
  ]
}

Но я обеспокоен тем, что это может просто скрыть подлинную проблему, которая все еще требует решения,Если кто-нибудь еще знает об этой ошибке или о том, почему она могла начаться из ниоткуда, я хотел бы знать!

1 Ответ

0 голосов
/ 23 октября 2019

При использовании шаблона ARM для развертывания диспетчера трафика он возвращает с ошибкой конфликта 409 " При обработке запроса обнаружены конфликтующие изменения. Это может произойти, когда несколько запросов пытаются обновить один профиль одновременновремя. Пожалуйста, повторите ваш запрос. ", поскольку развертывание шаблона ARM направлено на создание новых ресурсов, следовательно, оно использует запросы PUT. Если профиль диспетчера трафика уже существует, он вернется, когда шаблон внесет изменение, которое изменит или повлияет на существующие профили. Перед развертыванием был создан диспетчер трафика, поэтому шаблон не прошел с ошибкой конфликта. Чтобы решить или устранить проблему, убедитесь, что ни один профиль TM не создан до развертывания ARM. Затем повторно протестируйте развертывание.

Надеюсь, это поможет! Ура!

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