Поделиться через


Служба приложений заметки о выпуске Azure Stack Hub 2022 H1

В этих заметках о выпуске описываются улучшения и исправления в Служба приложений Azure в заметках о выпуске Azure Stack Hub 2022 H1, а также все известные проблемы. Известные проблемы можно разделить на проблемы, которые непосредственно относятся к процессу развертывания, обновления, и проблемы со сборкой (после установки).

Важно!

При необходимости обновите Azure Stack Hub до поддерживаемой версии (или разверните последнюю версию пакета средств разработки Azure Stack) перед развертыванием или обновлением поставщика ресурсов Служба приложений . Обязательно ознакомьтесь с заметками о выпуске RP, чтобы узнать о новых функциях, исправлениях и известных проблемах, которые могут повлиять на развертывание.

Поддерживаемая минимальная версия Azure Stack Hub Служба приложений версия RP
2301 и более поздней версии Установщик 2302 (заметки о выпуске)

Указание сборки

Номер сборки Служба приложений в Azure Stack Hub 2022 H1 — 98.0.1.699

Новые возможности

Служба приложений Azure в Azure Stack Hub 2022 H1 предоставляет множество новых возможностей в Azure Stack Hub.

  • Все роли теперь работают на платформе Windows Server 2022 Datacenter.
  • Администраторы могут изолировать образ платформы для использования Служба приложений в Azure Stack Hub, установив для SKU значение AppService.
  • Обновление структуры сети для всех рабочих Масштабируемые наборы виртуальных машин, устраняя проблемы с нехваткой портов SNAT.
  • Увеличено число исходящих адресов для всех приложений. Обновленный список исходящих адресов можно найти в свойствах приложения на портале Azure Stack Hub.
  • Администраторы могут задать трехзначный префикс развертывания для отдельных экземпляров в каждом развернутом масштабируемом наборе виртуальных машин, что полезно при управлении несколькими экземплярами Azure Stack Hub.
  • Центр развертывания теперь включен для клиентов, заменив интерфейс параметров развертывания. ВАЖНО! Операторам потребуется перенастроить источники развертывания , так как URL-адреса перенаправления изменились с этим обновлением. Кроме того, клиентам потребуется повторно подключить свои приложения к поставщикам системы управления версиями.
  • После этого обновления буква K теперь является зарезервированной буквой SKU. Если у вас есть пользовательский номер SKU, определенный с использованием буквы K, обратитесь в службу поддержки, чтобы помочь в устранении этой ситуации до обновления.

Предварительные требования

Перед началом развертывания ознакомьтесь со статьей Подготовка к работе со службой приложений в Azure Stack.

Прежде чем приступить к обновлению Служба приложений Azure в Azure Stack до версии 2022 H1, выполните следующие действия.

  • Убедитесь, что azure Stack Hub обновлен до версии 1.2108.2.127 или 1.2206.2.52.

  • Убедитесь, что все роли готовы в Служба приложений Azure администрирование на портале Администратор Azure Stack Hub.

  • Резервное копирование секретов Служба приложений с помощью администрирования Служба приложений на портале Администратор Azure Stack Hub.

  • Создайте резервную копию баз данных master Служба приложений и SQL Server:

    • AppService_Hosting;
    • AppService_Metering;
    • master.
  • Создайте резервную копию общей папки содержимого приложения клиента.

    Важно!

    Операторы облака отвечают за обслуживание и работу файлового сервера и сервера SQL Server. Поставщик ресурсов не управляет этими ресурсами. Оператор облака отвечает за резервное копирование баз данных Службы приложений и общей папки содержимого арендатора.

  • Синдикация расширения пользовательских скриптов версии 1.9.3 из Marketplace.

Обновления

Служба приложений Azure в Обновлении Azure Stack 2022 H1 включает следующие улучшения и исправления:

  • Обновления для клиента, администратора службы приложений, портала функций и средств Kudu. Согласованы с версией пакета SDK для портала Azure Stack.

  • Обновления Функции Azure среды выполнения до версии 1.0.13154.

  • Обновления основной службы для повышения надежности и отображения сообщений об ошибках упрощают диагностику распространенных проблем.

  • Реализованы обновления следующих исполняющих сред и инструментов:

    • Накопительный пакет обновления 2022-09 для платформа .NET Framework 3.5 и 4.8 для серверной операционной системы Майкрософт версии 21H2 для 64-разрядных систем (KB5017028).
    • ASP.NET Core
      • 3.1.18
      • 3.1.23
      • 6.0.2
      • 6.0.3
    • Eclipse Temurin OpenJDK 8
      • 8u302
      • 8u312
      • 8u322
    • Microsoft OpenJDK 11
      • 11.0.12.7.1
      • 11.0.13.8
      • 11.0.14.1
      • 17.0.1.12
      • 17.0.2.8
    • MSBuild
      • 16.7.0
      • 17.1.0
    • MSDeploy 3.5.100608.567
    • Node.js
      • 14.18.1
      • 16.9.1
      • 16.13.0
    • npm
      • 6.14.15
      • 7.21.1
      • 8.1.0
    • Tomcat
      • 8.5.69
      • 8.5.72
      • 8.5.78
      • 9.0.52
      • 9.0.54
      • 9.0.62
      • 10.0.12
      • 10.0.20
    • Обновлено значение Kudu до 97.40427.5713.
  • Обновления базовой операционной системы всех ролей.

  • Совокупные Обновления для Windows Server теперь применяются к ролям контроллера в рамках развертывания и обновления.

Исправленные ошибки в этом выпуске

  • Автоматическая очистка таблиц SiteDataRecord и TraceMessages в базах данных поставщика ресурсов Служба приложений.
  • Закрытый сертификат теперь отображается на сайтах с слотами развертывания.
  • Повышена надежность процесса обновления путем проверки готовности всех ролей.

Действия перед обновлением

Служба приложений Azure в Azure Stack Hub 2022 H1 является значительным обновлением, поэтому его выполнение может занять несколько часов, так как все развертывания обновляются и все роли повторно создаются в ОС Windows Server 2022 Datacenter. Поэтому мы рекомендуем сообщить конечным клиентам о запланированном обновлении перед применением обновления.

  • По состоянию на Служба приложений Azure в обновлении Azure Stack Hub 2022 H1 буква K теперь является зарезервированной буквой SKU. Если у вас есть пользовательский номер SKU, определенный с использованием буквы K, обратитесь в службу поддержки, чтобы помочь в устранении этой ситуации до обновления.

Изучите известные проблемы в обновлении и выполните рекомендуемые действия.

Действия, выполняемые после развертывания

Важно!

Если вы указали поставщик ресурсов Службы приложений с помощью экземпляра SQL Always On, к группе доступности необходимо добавить базы данных appservice_hosting и appservice_metering, а затем синхронизировать эти базы данных, чтобы избежать прекращения работы службы в случае отработки отказа.

Известные проблемы (обновление)

  • В ситуациях, когда клиент преобразовал базы данных appservice_hosting и appservice_metering в автономную базу данных, обновление может завершиться ошибкой, если имена входа не были успешно перенесены на автономных пользователей.

Клиенты, которые преобразовали базы данных appservice_hosting и appservice_metering в автономную базу данных после развертывания и не успешно перенесли имена входа базы данных для автономных пользователей, могут столкнуться с ошибками обновления.

Клиенты должны выполнить следующий скрипт для SQL Server размещения appservice_hosting и appservice_metering перед обновлением вашей Служба приложений Azure в Azure Stack Hub до 3-го кв. 2020 г. Этот скрипт безопасен для системы, а его выполнение не приведет к простою.

Этот скрипт должен выполняться при следующих условиях:

  • Его должен выполнять пользователь с правами системного администратора, например с использованием учетной записи системного администратора SQL.

  • Если на сервере SQL используется группа доступности Always On, убедитесь, что скрипт выполняется из экземпляра SQL, который содержит все имена для входа Службы приложений в таком виде:

    • appservice_hosting_FileServer;
    • appservice_hosting_HostingAdmin;
    • appservice_hosting_LoadBalancer;
    • appservice_hosting_Operations;
    • appservice_hosting_Publisher;
    • appservice_hosting_SecurePublisher;
    • appservice_hosting_WebWorkerManager;
    • appservice_metering_Common;
    • appservice_metering_Operations;
    • Все имена входа WebWorker в формате WebWorker_< IP-адрес экземпляра>
        USE appservice_hosting
        IF EXISTS(SELECT * FROM sys.databases WHERE Name=DB_NAME() AND containment = 1)
        BEGIN
        DECLARE @username sysname ;  
        DECLARE user_cursor CURSOR  
        FOR
            SELECT dp.name
            FROM sys.database_principals AS dp  
            JOIN sys.server_principals AS sp
                ON dp.sid = sp.sid  
                WHERE dp.authentication_type = 1 AND dp.name NOT IN ('dbo','sys','guest','INFORMATION_SCHEMA');
            OPEN user_cursor  
            FETCH NEXT FROM user_cursor INTO @username  
                WHILE @@FETCH_STATUS = 0  
                BEGIN  
                    EXECUTE sp_migrate_user_to_contained
                    @username = @username,  
                    @rename = N'copy_login_name',  
                    @disablelogin = N'do_not_disable_login';  
                FETCH NEXT FROM user_cursor INTO @username  
            END  
            CLOSE user_cursor ;  
            DEALLOCATE user_cursor ;
            END
        GO

        USE appservice_metering
        IF EXISTS(SELECT * FROM sys.databases WHERE Name=DB_NAME() AND containment = 1)
        BEGIN
        DECLARE @username sysname ;  
        DECLARE user_cursor CURSOR  
        FOR
            SELECT dp.name
            FROM sys.database_principals AS dp  
            JOIN sys.server_principals AS sp
                ON dp.sid = sp.sid  
                WHERE dp.authentication_type = 1 AND dp.name NOT IN ('dbo','sys','guest','INFORMATION_SCHEMA');
            OPEN user_cursor  
            FETCH NEXT FROM user_cursor INTO @username  
                WHILE @@FETCH_STATUS = 0  
                BEGIN  
                    EXECUTE sp_migrate_user_to_contained
                    @username = @username,  
                    @rename = N'copy_login_name',  
                    @disablelogin = N'do_not_disable_login';  
                FETCH NEXT FROM user_cursor INTO @username  
            END  
            CLOSE user_cursor ;  
            DEALLOCATE user_cursor ;
            END
        GO
  • Приложения клиента не могут привязать сертификаты к приложениям после обновления.

    Причина этой проблемы заключается в отсутствии функции на Front-Ends после обновления до Windows Server 2022. Операторы должны выполнить эту процедуру, чтобы устранить проблему.

    1. На портале администрирования Azure Stack Hub перейдите в раздел Группы безопасности сети и просмотрите группу безопасности сети КонтроллерыNSG .

    2. По умолчанию удаленный рабочий стол отключен для всех ролей инфраструктуры Служба приложений. Измените действие правила Inbound_Rdp_2289 на Разрешить доступ.

    3. Перейдите к группе ресурсов, содержащей развертывание поставщика ресурсов Служба приложений. По умолчанию имя — AppService.<и> подключитесь к CN0-VM.

    4. Вернитесь к сеансу удаленного рабочего стола CN0-VM .

    5. В сеансе Администратора PowerShell выполните следующую команду:

      Важно!

      Во время выполнения этого скрипта для каждого экземпляра в масштабируемом наборе переднего плана будет приостановлено. Если появится сообщение о том, что компонент устанавливается, этот экземпляр будет перезагружен, используйте паузу в скрипте, чтобы обеспечить доступность переднего плана. Операторы должны убедиться, что по крайней мере один экземпляр переднего плана всегда готов, чтобы приложения клиента могли получать трафик и не испытывать простоев.

      $c = Get-AppServiceConfig -Type Credential -CredentialName FrontEndCredential
      $spwd = ConvertTo-SecureString -String $c.Password -AsPlainText -Force
      $cred = New-Object System.Management.Automation.PsCredential ($c.UserName, $spwd)
      
      Get-AppServiceServer -ServerType LoadBalancer | ForEach-Object {
          $lb = $_
          $session = New-PSSession -ComputerName $lb.Name -Credential $cred
      
          Invoke-Command -Session $session {
            $f = Get-WindowsFeature -Name Web-CertProvider
            if (-not $f.Installed) {
                Write-Host Install feature on $env:COMPUTERNAME
                Install-WindowsFeature -Name Web-CertProvider
      
                Read-Host -Prompt "If installing the feature, the machine will reboot. Wait until there's enough frontend availability, then press ENTER to continue"
                Shutdown /t 5 /r /f 
            }
      }
      
      Remove-PSSession -Session $session     
      
    6. На портале администрирования Azure Stack вернитесь к группе безопасности сети КонтроллерыNSG .

    7. Измените правило Inbound_Rdp_3389 , чтобы запретить доступ.

Известные проблемы (после установки)

  • Рабочим ролям не удается связаться с файловым сервером, если Служба приложений развернута в существующей виртуальной сети и файловый сервер доступен только в частной сети, как это описано в документации по развертыванию Службы приложений Azure в Azure Stack.

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

    • Источник: Любой
    • Диапазон исходных портов: *.
    • Назначение: IP-адреса
    • Диапазон конечных IP-адресов: диапазон IP-адресов для файлового сервера
    • Диапазон конечных портов: 445
    • Протокол: TCP
    • Действие: Allow
    • Приоритет: 700
    • Имя: Outbound_Allow_SMB445
  • Чтобы устранить задержку при взаимодействии рабочих ролей с файловыми серверами, мы также рекомендуем добавить следующее правило в группу безопасности сети рабочей роли, чтобы разрешить исходящий трафик LDAP и Kerberos к контроллерам Active Directory при защите файлового сервера с помощью Active Directory, например, если вы использовали шаблон быстрого запуска для развертывания файлового сервера с высоким уровнем доступности и SQL Server.

    Для этого перейдите к группе безопасности сети WorkersNsg на портале администрирования и добавьте правило безопасности для исходящего трафика со следующими свойствами.

    • Источник: Любой
    • Диапазон исходных портов: *.
    • Назначение: IP-адреса
    • Диапазон IP-адресов назначения: диапазон IP-адресов для серверов AD, например с помощью шаблона быстрого запуска 10.0.0.100, 10.0.0.101
    • Диапазон портов назначения: 389,88
    • Протокол: любой
    • Действие: Allow
    • Приоритет: 710
    • Имя: Outbound_Allow_LDAP_and_Kerberos_to_Domain_Controllers
  • Приложения клиента не могут привязать сертификаты к приложениям после обновления.

    Причина этой проблемы заключается в отсутствии функции на Front-Ends после обновления до Windows Server 2022. Операторы должны выполнить эту процедуру, чтобы устранить проблему.

    1. На портале администрирования Azure Stack Hub перейдите в раздел Группы безопасности сети и просмотрите группу безопасности сети КонтроллерыNSG .

    2. По умолчанию удаленный рабочий стол отключен для всех ролей инфраструктуры Служба приложений. Измените действие правила Inbound_Rdp_2289 на Разрешить доступ.

    3. Перейдите к группе ресурсов, содержащей развертывание поставщика ресурсов Служба приложений. По умолчанию имя — AppService.<и> подключитесь к CN0-VM.

    4. Вернитесь к сеансу удаленного рабочего стола CN0-VM .

    5. В сеансе Администратора PowerShell выполните следующую команду:

      Важно!

      Во время выполнения этого скрипта для каждого экземпляра в масштабируемом наборе переднего плана будет приостановлено. Если появится сообщение о том, что компонент устанавливается, этот экземпляр будет перезагружен, используйте паузу в скрипте, чтобы обеспечить доступность переднего плана. Операторы должны убедиться, что по крайней мере один экземпляр переднего плана всегда готов, чтобы приложения клиента могли получать трафик и не испытывать простоев.

      $c = Get-AppServiceConfig -Type Credential -CredentialName FrontEndCredential
      $spwd = ConvertTo-SecureString -String $c.Password -AsPlainText -Force
      $cred = New-Object System.Management.Automation.PsCredential ($c.UserName, $spwd)
      
      Get-AppServiceServer -ServerType LoadBalancer | ForEach-Object {
          $lb = $_
          $session = New-PSSession -ComputerName $lb.Name -Credential $cred
      
          Invoke-Command -Session $session {
            $f = Get-WindowsFeature -Name Web-CertProvider
            if (-not $f.Installed) {
                Write-Host Install feature on $env:COMPUTERNAME
                Install-WindowsFeature -Name Web-CertProvider
      
                Shutdown /t 5 /r /f 
            }
      }
      
      Remove-PSSession -Session $session
      
      Read-Host -Prompt "If installing the feature, the machine will reboot. Wait until there's enough frontend availability, then press ENTER to continue"
      
    6. На портале администрирования Azure Stack вернитесь к группе безопасности сети КонтроллерыNSG .

    7. Измените правило Inbound_Rdp_3389 , чтобы запретить доступ.

Известные проблемы для облачных администраторов, работающих со службой приложений Azure в Azure Stack

  • Личные домены не поддерживаются в отключенных средах.

    Служба приложений выполняет проверку владения доменом для общедоступных конечных точек DNS. В результате личные домены не поддерживаются в отключенных сценариях.

  • виртуальная сеть интеграция веб-приложений и приложений-функций не поддерживается.

    Возможность добавления интеграции виртуальной сети в веб-приложения и приложения-функции отображается на портале Azure Stack Hub, и если клиент пытается настроить, он получает внутреннюю ошибку сервера. Эта функция не поддерживается в Служба приложений Azure в Azure Stack Hub.

Дальнейшие действия