Samouczek: tworzenie aplikacji kontenera platformy Azure na platformie Kubernetes z obsługą usługi Azure Arc (wersja zapoznawcza)
W tym samouczku utworzysz aplikację kontenera w klastrze Kubernetes z włączoną usługą Azure Arc (wersja zapoznawcza) i nauczysz się:
- Tworzenie aplikacji kontenera w usłudze Azure Arc
- Wyświetlanie diagnostyki aplikacji
Wymagania wstępne
Przed kontynuowaniem tworzenia aplikacji kontenera należy najpierw skonfigurować klaster Kubernetes z obsługą usługi Azure Arc w celu uruchamiania usługi Azure Container Apps.
Dodawanie rozszerzeń interfejsu wiersza polecenia platformy Azure
Uruchom środowisko powłoki Bash w usłudze Azure Cloud Shell.
Następnie dodaj wymagane rozszerzenia interfejsu wiersza polecenia platformy Azure.
Ostrzeżenie
Następujące polecenie instaluje niestandardowe rozszerzenie usługi Container Apps, które nie może być używane z usługą w chmurze publicznej. Jeśli przełączysz się z powrotem do chmury publicznej platformy Azure, musisz odinstalować rozszerzenie.
az extension add --upgrade --yes --name customlocation
az extension add --name containerapp --upgrade --yes
Tworzenie grupy zasobów
Utwórz grupę zasobów dla usług utworzonych w tym samouczku.
myResourceGroup="my-container-apps-resource-group"
az group create --name $myResourceGroup --location eastus
Pobieranie informacji o lokalizacji niestandardowej
Pobierz następującą grupę lokalizacji, nazwę i identyfikator od administratora klastra. Aby uzyskać szczegółowe informacje, zobacz Tworzenie lokalizacji niestandardowej.
customLocationGroup="<RESOURCE_GROUP_CONTAINING_CUSTOM_LOCATION>"
customLocationName="<NAME_OF_CUSTOM_LOCATION>"
Pobierz identyfikator lokalizacji niestandardowej.
customLocationId=$(az customlocation show \
--resource-group $customLocationGroup \
--name $customLocationName \
--query id \
--output tsv)
Pobieranie identyfikatora połączonego środowiska
Teraz, gdy masz identyfikator lokalizacji niestandardowej, możesz wykonać zapytanie dotyczące połączonego środowiska.
Połączone środowisko jest w dużej mierze takie samo jak standardowe środowisko usługi Container Apps, ale ograniczenia sieci są kontrolowane przez bazowy klaster Kubernetes z obsługą usługi Arc.
myContainerApp="my-container-app"
myConnectedEnvironment=$(az containerapp connected-env list --custom-location $customLocationId -o tsv --query '[].id')
Utwórz aplikację
Poniższy przykład tworzy aplikację Node.js.
az containerapp create \
--resource-group $myResourceGroup \
--name $myContainerApp \
--environment $myConnectedEnvironment \
--environment-type connected \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
az containerapp browse --resource-group $myResourceGroup --name $myContainerApp
Pobieranie dzienników diagnostycznych przy użyciu usługi Log Analytics
Uwaga
Konfiguracja usługi Log Analytics jest wymagana podczas instalowania rozszerzenia Container Apps w celu wyświetlenia informacji diagnostycznych. Jeśli rozszerzenie zainstalowano bez usługi Log Analytics, pomiń ten krok.
Przejdź do obszaru roboczego usługi Log Analytics skonfigurowanego przy użyciu rozszerzenia Container Apps, a następnie wybierz pozycję Dzienniki w obszarze nawigacji po lewej stronie.
Uruchom następujące przykładowe zapytanie, aby wyświetlić dzienniki w ciągu ostatnich 72 godzin.
Jeśli podczas uruchamiania zapytania wystąpi błąd, spróbuj ponownie w ciągu 10–15 minut. Może wystąpić opóźnienie rozpoczęcia odbierania dzienników z aplikacji przez usługę Log Analytics.
let StartTime = ago(72h);
let EndTime = now();
ContainerAppConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where ContainerAppName_s =~ "my-container-app"
Dzienniki aplikacji dla wszystkich aplikacji hostowanych w klastrze Kubernetes są rejestrowane w obszarze roboczym usługi Log Analytics w niestandardowej tabeli dzienników o nazwie ContainerAppConsoleLogs_CL
.
- Log_s zawiera dzienniki aplikacji dla danego rozszerzenia usługi Container Apps
- AppName_s zawiera nazwę aplikacji kontenera. Oprócz dzienników zapisywanych za pośrednictwem kodu aplikacji kolumna Log_s zawiera również dzienniki uruchamiania i zamykania kontenera.
Więcej informacji na temat zapytań dzienników można dowiedzieć się na temat rozpoczynania pracy z usługą Kusto.