Вчера я написал статью под названием «Развертывание функции Java Azure в приложениях-контейнерах Azure».
В этой записи я упомянул использование интегрированных возможностей управления Azure и хочу пояснить, что это значит и чем оно отличается от предыдущих методов в этой статье.
Приложения-контейнеры Azure — это одна из сред выполнения контейнеров Azure, позволяющая запускать любую контейнерную службу. Раньше, если вы хотели запустить функции Azure в приложениях-контейнерах Azure, вам нужно было создать экземпляр с помощью следующей команды:
az containerapp create \ --name general-container-app \ --resource-group $RESOURCE_GROUP_NAME \ --environment $CONTAINER_ENVIRONMENT \ --registry-server $CONTAINER_REGISTRY_SERVER \ --image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \ --target-port 80 \ --ingress external \ --query properties.configuration.ingress.fqdn
После выполнения команды вы увидите такое сообщение:
Container app created. Access your app at https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/
Затем вы можете использовать команду Curl для подключения к службе Функций Azure:
curl https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/api/httpexample?name=World
При доступе к среде приложений-контейнеров Azure вы увидите, что приложение-контейнер создается как приложение-контейнер, и этот интерфейс управления доступен для любого развернутого контейнерного приложения.
https://raw.githubusercontent.com/yoshioterada/Azure-Functions-Deploy-To-Azure-Container-Apps/main/images/ACA-Instance-for-Azure-Functions.png
Новый метод позволяет создавать функции Azure в приложениях-контейнерах Azure с помощью команды az functionapp create вместо azContainerapp create.
az functionapp create \ --name $AZURE_FUNCTION_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --environment $CONTAINER_ENVIRONMENT \ --storage-account $STORAGE_NAME \ --workload-profile-name "Consumption" \ --max-replicas 15 \ --min-replicas 1 \ --functions-version 4 \ --runtime java \ --image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \ --assign-identity
С помощью этой команды ваши функции Azure будут созданы в приложениях-контейнерах Azure, и в интерфейсе управления будет четко показано, что это приложение-функция.
Это означает, что теперь функциями Azure можно управлять через специальный интерфейс управления функциями Azure, что отличает его от других приложений-контейнеров.
Однако существуют некоторые различия между функциями управления, предоставляемыми в Службе приложений Azure, и функциями, доступными для функций Azure в приложениях-контейнерах. Например, некоторые функции, такие как инструменты диагностики, функции развертывания и другие, могут быть недоступны.
Для сравнения, вот интерфейс управления функциями Azure, развернутыми в Службе приложений Azure.
Различия в возможностях управления между Службой приложений и приложениями-контейнерами Azure могут включать в себя:
- Diagnose and solve problems - Microsoft Defender for Cloud - Events (preview) - Log stream - Deployment - App Service plan - Development Tools - Monitoring - Support troubleshooting
Некоторые могут подумать, что отсутствие определенных функций означает отсутствие функциональности.
Однако при развертывании в приложениях-контейнерах Azure операционная среда является контейнерной, что меняет методы развертывания и управления. Функции, не включенные в интерфейс управления функциями Azure, необходимо будет управлять отдельно через интерфейс приложений-контейнеров Azure.
При использовании команды az functionapp create для создания экземпляра функций Azure в приложениях-контейнерах Azure автоматически создается новая группа ресурсов, в которой размещается экземпляр контейнера.
В моей среде имя группы ресурсов соответствует следующему соглашению:
$CONTAINER_ENVIRONMENT_FunctionApps_$UUID
Вы увидите, что создан экземпляр Azure Container Apps, названный в честь указанного вами $AZURE_FUNCTION_NAME.
При нажатии на этот экземпляр вы будете перенаправлены на интерфейс управления, специфичный для приложений-контейнеров Azure, где функции Azure выполняются как экземпляры контейнера.
Приложения-контейнеры Azure предоставляют другие методы CI/CD и развертывания, чем Служба приложений Azure. Он также позволяет использовать функции, предлагаемые на уровне контейнера, такие как Dapr и Service Connector.
Раньше функции Azure можно было запускать, помещая их в контейнер в среде выполнения контейнера, но специального интерфейса управления для функций Azure не было.
Благодаря этому новому методу функции Azure и приложения-контейнеры Azure интегрируются, предлагая контейнерную среду со связанным интерфейсом управления функциями Azure.
Я знаю, что некоторые клиенты используют контейнер функций Azure в службе Azure Kubernetes (AKS). Раньше у них не было выделенного интерфейса управления. Однако благодаря развертыванию в приложениях-контейнерах Azure они теперь могут использовать управление функциями Azure, наслаждаясь при этом простотой управления приложениями-контейнерами Azure по сравнению с управлением операциями в AKS.
Методы развертывания функций Azure в приложениях-контейнерах Azure, вероятно, будут развиваться и дальше. Я с нетерпением жду возможности увидеть, как это будет развиваться.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3