Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Oprócz wbudowanego interpretera kodu, który udostępnia dynamiczne sesje usługi Azure Container Apps, można również użyć kontenerów niestandardowych do zdefiniowania swoich własnych izolowanych środowisk sesji.
Uwaga / Notatka
Ten artykuł dotyczy tylko niestandardowych pul sesji kontenerowych. O ile nie określono inaczej, funkcje opisane tutaj nie są dostępne dla pul sesji interpretera kodu.
Zastosowania dla niestandardowych sesji kontenera
Kontenery niestandardowe umożliwiają tworzenie rozwiązań dostosowanych do Twoich potrzeb. Umożliwiają one uruchamianie kodu lub aplikacji w środowiskach, które są szybkie i efemeryczne. Oferują one bezpieczne przestrzenie w środowisku piaskownicy z Hyper-V. Ponadto można je skonfigurować z opcjonalną izolacją sieci. Przykłady obejmują:
Interpretery kodu: Użyj, jeśli uruchamiasz niezaufany kod w bezpiecznych piaskownicach, używając języka, który nie jest obsługiwany w wbudowanym interpreterze, lub potrzebujesz pełnej kontroli nad interpreterem kodu.
Wykonywanie izolowane: Użyj, jeśli uruchamiasz aplikacje w wrogich scenariuszach współdzielonych, gdzie każdy najemca lub użytkownik ma własne środowisko w trybie piaskownicy. Te środowiska są odizolowane od siebie i od aplikacji hosta. Niektóre przykłady obejmują aplikacje, które uruchamiają kod dostarczony przez użytkownika, kod, który przyznaje użytkownikowi końcowemu dostęp do powłoki opartej na chmurze, agentów sztucznej inteligencji i środowisk deweloperskich.
Używanie niestandardowych sesji kontenera
Aby użyć niestandardowych sesji kontenera, utwórz pulę sesji z niestandardowym obrazem kontenera. Usługa Azure Container Apps automatycznie uruchamia kontenery w swoich własnych piaskownicach Hyper-V przy użyciu podanego obrazu kontenera. Po uruchomieniu kontenera jest dostępny dla puli sesji.
Gdy aplikacja żąda sesji, instancja jest natychmiast przydzielana z puli. Sesja pozostaje aktywna, dopóki nie wejdzie w stan bezczynności, który zostanie automatycznie zatrzymany i zniszczony.
Sondy kontenerów dla pul sesji
Użyj sond kontenerów, aby skonfigurować kontrole kondycji niestandardowych pul sesji kontenera i zachować wystąpienia sesji w dobrej kondycji.
Uwaga / Notatka
Sondy kontenerów wymagają wersji interfejsu API lub nowszej 2025-02-02-preview .
Sondy kontenerów umożliwiają definiowanie badań kondycji kontenerów dla sesji, podobnie jak sondy kondycji w usłudze Azure Container Apps. Po skonfigurowaniu pula sesji monitoruje każdą instancję sesji i usuwa niezdrowe instancje.
Pula sesji:
- Zapewnia, że gotowe wystąpienia sesji są w dobrej kondycji na podstawie sond diagnostycznych.
- Automatycznie usuwa niezdrowe instancje sesji.
- Skaluje w górę, aby utrzymać skonfigurowaną
readySessionInstancesliczbę przy zdrowych sesjach.
Pool sesji obsługuje typy sond Liveness i Startup. Aby uzyskać więcej informacji na temat sposobu działania sond, zobacz Sondy kondycji w usłudze Azure Container Apps.
Konfiguracja
Podczas tworzenia lub aktualizowania puli sesji określ sondy w properties.customContainerTemplate.containers sekcji ładunku żądania.
Aby uzyskać pełną specyfikację interfejsu API, zobacz SessionPools API.
Przykład
{
"properties": {
"customContainerTemplate": {
"containers": [
{
"name": "my-session-container",
"image": "myregistry.azurecr.io/my-session-image:latest",
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080
},
"periodSeconds": 10,
"failureThreshold": 3
},
{
"type": "Startup",
"httpGet": {
"path": "/ready",
"port": 8080
},
"periodSeconds": 5,
"failureThreshold": 30
}
]
}
]
},
"dynamicPoolConfiguration": {
"readySessionInstances": 5
}
}
}
Troubleshooting
Jeśli pula sesji nie utrzymuje oczekiwanej liczby zdrowych readySessionInstances, rozważ następujące rozwiązania:
- Sprawdź dzienniki kontenera. Przejrzyj dzienniki kontenera sesji, aby zidentyfikować problemy z punktami kontrolnymi sondy lub rozruchem kontenera. Zobacz Wyświetlanie dzienników dla niestandardowych pul sesji kontenerów.
- Sprawdź konfigurację sondy. Upewnij się, że ścieżki sondy, porty i progi są poprawnie skonfigurowane dla aplikacji.
- Przejrzyj kondycję kontenera. Sprawdź problemy wewnątrz kontenera, które uniemożliwiają pomyślne reagowanie punktów końcowych sondy.
Zatrzymywanie sesji
Użyj interfejsu API zatrzymywania sesji, aby zakończyć sesję w niestandardowej puli sesji kontenera.
Pule sesji obsługują automatyczne zarządzanie sesjami za pośrednictwem programu lifecycleConfiguration, który obsługuje cykl życia sesji na podstawie konfiguracji. Istnieją jednak scenariusze, w których może być potrzebna większa kontrola.
Po przydzieleniu sesji możesz wywołać ten interfejs API, aby ręcznie go zakończyć w dowolnym momencie. Takie podejście jest przydatne w następujących przypadkach:
- Należy wyczyścić zasoby, zanim sesja osiągnie swój czas życia.
- Pula sesji osiąga maksymalny limit współbieżnych sesji i musisz zwolnić zasoby dla nowych sesji.
- Sesja kończy zadanie i chcesz natychmiast zwolnić zasoby.
Odniesienie do API
Żądanie
POST {PoolManagementEndpoint}/.management/stopSession?api-version=2025-10-02-preview&identifier={SessionIdentifier}
Parametry
| Parameter | Typ | Wymagane | Opis |
|---|---|---|---|
api-version |
ciąg | Yes | Wersja interfejsu API do użycia (na przykład 2025-10-02-preview). |
identifier |
ciąg | Yes | Unikatowy identyfikator sesji do zatrzymania. |
Examples
Żądanie
POST https://{PoolManagementEndpoint}/.management/stopSession?api-version=2025-10-02-preview&identifier=testSessionIdentifier
Odpowiedź
HTTP/1.1 200 OK
Content-Type: text/plain
Session testSessionIdentifier in session pool testSessionPool stopped.
Logging
Niestandardowe pule sesji kontenerów integrują się z usługami Azure Monitor i Log Analytics. Dzienniki aplikacji są przechwytywane tylko wtedy, gdy kontener zapisuje dane wyjściowe do stdout lub stderr, dlatego upewnij się, że aplikacja emituje dzienniki do konsoli.
Wymagania wstępne
- Środowisko usługi Azure Container Apps z niestandardową pulą sesji kontenerów
- Obszar roboczy usługi Log Analytics lub utwórz go podczas instalacji
Konfigurowanie rejestrowania
Włączanie rejestrowania usługi Azure Monitor
- W witrynie Azure Portal przejdź do środowiska Container Apps Environment.
- W obszarze Monitorowanie wybierz pozycję Opcje rejestrowania.
- Ustaw Miejsce docelowe logów na Azure Monitor.
Konfigurowanie ustawień diagnostycznych
- W środowisku usługi Container Apps w obszarze Monitorowanie wybierz pozycję Ustawienia diagnostyczne.
- Wybierz + Dodaj ustawienie diagnostyczne.
- Podaj nazwę ustawienia diagnostycznego.
- W obszarze Dzienniki wybierz kategorie dzienników związanych z sesją, które chcesz przechwycić.
- W obszarze Szczegóły miejsca docelowego wybierz pozycję Wyślij do obszaru roboczego usługi Log Analytics.
- Wybierz obszar roboczy usługi Log Analytics lub utwórz nowy.
- Wybierz opcję Zapisz.
Tabele usługi Log Analytics
| Kategoria dziennika | Tabela usługi Log Analytics | Opis |
|---|---|---|
| Dzienniki aplikacji | AppEnvSessionConsoleLogs |
Standardowe dane wyjściowe () i standardowy błąd (stdoutstderr) emitowany przez konteneryzowaną aplikację. |
| Dzienniki platformy |
AppEnvSessionLifecycleLogs, AppEnvSessionPoolEvents |
Zdarzenia generowane przez platformę związane z alokacją puli sesji, cyklem życia i stanem operacyjnym. |
Jeśli dzienniki są wysyłane bezpośrednio do usługi Log Analytics, tabele używają sufiksu _CL, na przykład AppEnvSessionConsoleLogs_CL. Gdy dzienniki są kierowane za pośrednictwem ustawień diagnostycznych usługi Azure Monitor, nazwy tabel nie zawierają sufiksu _CL.
Wyświetlanie dzienników sesji
Po skonfigurowaniu ustawień diagnostycznych dzienniki są wysyłane do obszaru roboczego usługi Log Analytics.
Wykonywanie zapytań dotyczących dzienników w usłudze Log Analytics
- W witrynie Azure Portal przejdź do obszaru roboczego usługi Log Analytics.
- W menu po lewej stronie wybierz pozycję Dzienniki.
- Jeśli zapytanie jest w trybie prostym, wybierz tryb KQL.
- Użyj języka KQL (Kusto Query Language) do wykonywania zapytań dotyczących dzienników sesji.
Przykłady zapytań
Wyświetl najnowsze dzienniki konsoli z sesji:
AppEnvSessionConsoleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
| take 100
Wyświetlanie zdarzeń cyklu życia sesji:
AppEnvSessionLifecycleLogs
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
Wyświetlanie zdarzeń puli sesji:
AppEnvSessionPoolEvents
| where TimeGenerated > ago(1h)
| order by TimeGenerated desc
Metrics
Usługa Azure Container Apps emituje metryki usługi Azure Monitor dla niestandardowych pul sesji kontenerów. Użyj tych metryk, aby śledzić wydajność i aktywność puli w czasie.
Obsługiwane metryki
Aby uzyskać pełną listę, zobacz Obsługiwane metryki — Microsoft.App/sessionpools — Azure Monitor.
| Wskaźnik | Nazwa w interfejsie API REST | Jednostka | Aggregation | Wymiary | Granulki czasu | DS Eksport |
|---|---|---|---|---|---|---|
|
Liczba sesji wykonywanych Liczba działających podów sesji w puli sesji |
PoolExecutingPodCount |
Liczba | Suma (suma), średnia, maksimum, minimum | poolName |
PT1M | Yes |
|
Liczba tworzonych sesji Liczba tworzenia zasobników sesji w puli sesji |
PoolPendingPodCount |
Liczba | Suma (suma), średnia, maksimum, minimum | poolName |
PT1M | Yes |
|
Liczba gotowych sesji Liczba gotowych podów sesji w puli sesji |
PoolReadyPodCount |
Liczba | Suma (suma), średnia, maksimum, minimum | poolName |
PT1M | Yes |
Wyświetlanie metryk sesji
Możesz użyć metryk środowiska usługi Azure Monitor lub Container Apps, aby wyświetlić metryki oparte na sesji.
Metryki usługi Azure Monitor
- Otwórz stronę Metryki usługi Azure Monitor.
- Użyj Zakres, aby wybrać niestandardową pulę sesji kontenerów.
- Wybierz metrykę i agregację, aby wyświetlić.
Metryki środowiska usługi Container Apps
- W witrynie Azure Portal otwórz środowisko Container Apps Environment.
- W obszarze Monitorowanie wybierz pozycję Metryki.
- Użyj Zakres, aby wybrać niestandardową pulę sesji kontenerów.
- Wybierz metrykę i agregację, aby wyświetlić.