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


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

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

Внимание

При необходимости обновите Azure Stack Hub до поддерживаемой версии (или разверните последний пакет средств разработки Azure Stack) перед развертыванием или обновлением поставщика ресурсов Служба приложений (RP). Обязательно прочитайте заметки о выпуске 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.
  • Администраторы могут изолировать образ платформы для использования Служба приложений в 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.

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

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

    Внимание

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

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

Обновления

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

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

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

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

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

    • Накопительный пакет обновления 2022-09 для платформа .NET Framework 3.5 и 4.8 для операционной системы Microsoft Server версии 21H2 для x64 (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
    • NodeJS
      • 14.18.1
      • 16.9.1
      • 16.13.0
    • npm
      • 6.14.15
      • 7.21.1
      • 8.1.0
    • Кот
      • 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. Поэтому мы рекомендуем сообщить конечным клиентам о запланированном обновлении перед применением обновления.

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

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

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

Внимание

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

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

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

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

Перед обновлением службы приложение Azure в Azure Stack Hub до 2020 Q3 клиенты должны выполнить следующий скрипт для размещения appservice_hosting и appservice_metering. Этот скрипт безопасен для системы, а его выполнение не приведет к простою.

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

  • Его должен выполнять пользователь с правами системного администратора, например с использованием учетной записи системного администратора 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 перейдите к группам безопасности сети и просмотрите группу безопасности сети ControllersNSG .

    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 вернитесь к группе безопасности сети ControllersNSG .

    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, например, если вы использовали шаблон быстрого запуска для развертывания ha File Server и SQL Server.

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

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

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

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

    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 вернитесь к группе безопасности сети ControllersNSG .

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

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

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

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

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

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

Следующие шаги