Можно ли программно маршрутизировать трафик слота через командлет Az? - PullRequest
0 голосов
/ 14 мая 2019

Я хотел бы иметь возможность перенаправлять трафик из «рабочего» слота в другой слот в Azure с помощью powershell.Как я могу поступить так, чтобы не использовать RampUpRules?

В настоящее время в Azure есть приложение с 3 слотами (рабочий слот и 2 дополнительных слота), и через конвейер выпуска мы хотели бы автоматически маршрутизировать весь трафик.в один из этих двух слотов.

Я обнаружил, что «RampUpRule» может достичь этого (показано в фрагменте кода), но это происходит с помощью файла cookie x-ms-routing-name на основе заданногоправить.Я также знаю, что трафик слотов можно осуществлять через интерфейс развертывания слотов в службе приложений, но я хотел бы автоматизировать это (если это возможно).

Мне пока не удалось найти способ сделать это с помощью существующих командлетов Az - поэтому мне было интересно, знает ли кто-нибудь, как это сделать.

$appName = "myapp"
$appService = Get-AzWebApp -Name $appName
$appConfig = $appService.SiteConfig

$rulesList = New-Object -TypeName System.Collections.Generic.List[Microsoft.Azure.Management.WebSites.Models.RampUpRule]
$rule = New-Object -TypeName Microsoft.Azure.Management.WebSites.Models.RampUpRule
$rule.Name = "LiveTraffic"
$rule.ActionHostName = "myapp-staging.azurewebsites.net"
$rule.ReroutePercentage = 100
$rulesList.Add($rule)

$appConfig.Experiments.RampUpRules = $rulesList

Set-AzWebApp -WebApp $appService

RampUpRules достигают того, чего мы хотели бы, но я не уверен, что это будет сделано с помощью установленного cookie, будет приемлемым.

1 Ответ

1 голос
/ 14 мая 2019

Ваш скрипт работает. Если вы установите ReroutePercentage промежуточного слота с помощью 100, ваши пользователи будут автоматически перенаправлены в промежуточный слот, поскольку процент производства для маршрутизации установлен на 0. Если вы не предоставите ссылку с x-ms-routing-name=self, как <a href="<webappname>.azurewebsites.net/?x-ms-routing-name=self">Go back to production app</a>.

Для более подробной информации, вы можете обратиться к этой ссылке .

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