Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kontrola protokolů a nastavení konfigurace Azure Container Apps může odhalit základní problémy, pokud se vaše aplikace kontejneru nechová správně. Následující průvodce vám pomůže najít a zobrazit podrobnosti o vaší aplikaci kontejneru.
Scénáře
Následující tabulka uvádí problémy, se kterými se můžete setkat při používání služby Azure Container Apps, a akce, které můžete provést při jejich řešení.
| Scénář | Popis | Akce |
|---|---|---|
| Všechny scénáře |
Zobrazit protokoly Použití diagnostiky a řešení problémů |
|
| Chyba při nasazování nové revize | Při pokusu o nasazení nové revize se zobrazí chybová zpráva. | Ověřte, že aplikace kontejnerů může stáhnout image kontejneru |
| Zřizování trvá příliš dlouho | Po nasazení nové verze má nová revize statusZřizování a statusZpracovává se na neurčito. | Ověření správné konfigurace sond zdraví |
| Revize je snížená. | Zřízení nové revize trvá déle než 10 minut. Nakonec má stav Zřizování jako zřízený, ale stav Spuštění jako degradovaný. Tooltip běhu obsahuje text Details: Deployment Progress Deadline Exceeded. 0/1 replicas ready. |
Ověření správné konfigurace sond zdraví |
| Požadavky na koncové body selhávají | Koncový bod aplikace kontejneru nereaguje na požadavky. | Kontrola konfigurace příchozího připojení |
| Žádosti o návratový stav 403 | Koncový bod aplikace kontejneru reaguje na požadavky s chybou HTTP 403 (přístup byl odepřen). | Ověření správnosti konfigurace sítě |
| Odpovědi ne podle očekávání | Koncový bod aplikace kontejneru reaguje na požadavky, ale odpovědi nejsou podle očekávání. |
Ověřte, že provoz je směrován na správnou revizi Ověřte, že při nasazování imagí do registru kontejneru používáte jedinečné značky. |
| Chyba chybějících parametrů | Při spouštění az containerapp příkazů v Azure CLI nebo spouštění rutin z Az.App modulu v Azure PowerShellu se zobrazí chybové zprávy o chybějících parametrech. |
Ověření instalace nejnovější verze rozšíření Azure Container Apps |
| Funkce ve verzi Preview nejsou k dispozici |
Funkce ve verzi Preview nejsou při spouštění az containerapp příkazů v Azure CLI k dispozici. |
Ověřte, že rozšíření Azure Container Apps umožňuje funkce v náhledu |
| Chyba synchronizace tajných klíčů služby Key Vault | Nemůžete načíst nebo synchronizovat tajné kódy ze služby Azure Key Vault. | Řešení problémů s odkazy služby Key Vault |
| Odstranění aplikace nebo prostředí nefunguje | Tento problém často doprovází zpráva, například provisioningState: ScheduledForDelete. | Ruční odstranění přidružené virtuální sítě |
Zobrazení protokolů
Jedním z prvních kroků, které je potřeba provést při hledání problémů s aplikací kontejneru, je zobrazení zpráv protokolu. Můžete zobrazit výstup protokolů konzoly i systému. Konzolový protokol vaší kontejnerové aplikace zachycuje její stdout a stderr proudy. Container Apps generuje systémové protokoly pro události na úrovni služby.
- Přihlaste se k portálu Azure.
- Na panelu hledání zadejte název vaší aplikace kontejneru.
- V části Prostředky vyberte název vaší aplikace kontejneru.
- Na navigačním panelu rozbalte možnost Monitorování a vyberte proud protokolu (nikoli protokoly).
- Pokud se na streamu protokolu zobrazuje Tato revize je škálována na nulu., vyberte tlačítko Přejít na správu revizí. Nasaďte novou revizi škálovanou na minimální počet replik 1. Další informace najdete v tématu Škálování v Azure Container Apps.
- Na stránce Stream protokolu nastavte Logy na Konzolu nebo Systém.
Použití nástroje pro diagnostiku a řešení problémů
Pomocí nástroje pro diagnostiku a řešení problémů můžete najít problémy se stavem, konfigurací a výkonem vaší aplikace kontejneru.
- Přihlaste se k portálu Azure.
- Na panelu hledání zadejte název vaší aplikace kontejneru.
- V části Prostředky vyberte název vaší aplikace kontejneru.
- Na navigačním panelu vyberte Diagnostikovat a řešit problémy.
- Na stránce Diagnostika a řešení problémů vyberte jednu z kategorií Řešení potíží.
- Vyberte jednu z kategorií na navigačním panelu a najděte způsoby, jak vyřešit problémy s vaší aplikací kontejneru.
Ověření přístupnosti kontejnerového obrazu
Pokud se při pokusu o nasazení nové revize zobrazí chybová zpráva, ověřte, že container Apps dokáže vyžádat image kontejneru.
- Ujistěte se, že firewall ve vašem kontejnerovém prostředí neblokuje přístup k registru kontejnerů. Další informace najdete v tématu Řízení odchozího provozu pomocí tras definovaných uživatelem.
- Pokud vaše stávající virtuální síť používá místo výchozího serveru DNS, který poskytuje Azure, vlastní server DNS, ověřte, že je váš server DNS nakonfigurován správně a že nedochází k selhání během vyhledávání DNS registru kontejnerů. Další informace najdete v tématu DNS.
- Pokud jste k vygenerování image kontejneru použili funkci sestavení v cloudu Container Apps (viz cesta kódu do cloudu pro Azure Container Apps, vaše image není veřejně přístupná, takže se tato část nepoužije.
V případě kontejneru Dockeru, který může běžet jako konzolová aplikace, ověřte, že je vaše image veřejně přístupná spuštěním následujícího příkazu na příkazovém řádku se zvýšenými oprávněními. Před spuštěním tohoto příkazu nahraďte zástupné symboly ohraničené <> hodnotami.
docker run --rm <YOUR_CONTAINER_IMAGE>
Ověřte, že Docker spouští vaši image bez nahlášení chyb. Pokud používáte Docker ve Windows, ujistěte se, že máte spuštěný modul Dockeru.
Pokud obrázek není veřejně přístupný, může se zobrazit následující chyba.
docker: Error response from daemon: pull access denied for <YOUR_CONTAINER_IMAGE>, repository does not exist or may require 'docker login': denied: requested access to the resource is denied. See 'docker run --help'.
Další informace najdete v tématu Sítě v prostředí Azure Container Apps.
Kontrola konfigurace příchozího přenosu dat
Nastavení vstupu vaší kontejnerové aplikace se řídí sadou pravidel, které kontrolují směrování vnějšího a vnitřního síťového provozu do vaší kontejnerové aplikace. Pokud se nemůžete připojit ke své kontejnerové aplikaci, zkontrolujte tato nastavení vstupu a ujistěte se, že neblokují požadavky.
- Přihlaste se k portálu Azure.
- Na panelu hledání zadejte název vaší aplikace kontejneru.
- V části Prostředky vyberte název vaší aplikace kontejneru.
- Na navigačním panelu rozbalte Nastavení a vyberte Ingress.
| Problém | Akce |
|---|---|
| Je povolený přístup? | Ověřte, že je zaškrtnuté políčko Povoleno . |
| Chcete povolit externí přístup? | Ověřte, že příchozí provoz je nastaven na Příjem provozu odkudkoli. Pokud vaše aplikace kontejneru neposlouchá provoz HTTP, nastavte Příchozí provoz na Omezeno na prostředí aplikací kontejneru. |
| Používá váš klient pro přístup k vaší aplikaci kontejneru protokol HTTP nebo TCP? | Ověřte, že je typ příchozího přenosu dat nastavený na správný protokol (HTTP nebo TCP). |
| Podporuje váš klient mTLS? | Ověřte, že je režim klientského certifikátu nastavený na Vyžadovat pouze v případě, že klient podporuje mTLS. Další informace najdete v tématu konfigurace ověřování klientských certifikátů. |
| Používá váš klient protokol HTTP/1 nebo HTTP/2? | Ověřte , že je přenos nastavený na správnou verzi HTTP (HTTP/1 nebo HTTP/2). |
| Je cílový port správně nastavený? | Ověřte , že cílový port je nastavený na stejný port , na který vaše aplikace kontejneru naslouchá, nebo stejný port vystavený souborem Dockerfile vaší aplikace kontejneru. |
| Je IP adresa vašeho klienta odepřena? | Pokud režim omezení zabezpečení PROTOKOLU IP není nastavený na Povolit veškerý provoz, ověřte, že váš klient nemá IP adresu, která je odepřena. |
Další informace najdete v tématu Ingress v Azure Container Apps.
Ověření konfigurace sítě
Rekurzivní překladače Azure používají IP adresu 168.63.129.16 k překladu požadavků.
- Pokud vaše virtuální síť používá místo výchozího serveru DNS poskytnutého Azure vlastní server DNS, nakonfigurujte server DNS tak, aby předával nevyřešené dotazy DNS .
168.63.129.16 - Při konfiguraci NSG nebo brány firewall neblokujte adresu
168.63.129.16.
Další informace najdete v tématu Sítě v prostředí Azure Container Apps.
Ověření konfigurace sond stavu
U všech typů sond pro kontrolu zdravotního stavu (liveness, readiness a startup), které používají TCP jako transport, ověřte, že jejich čísla portů odpovídají cílovému portu ingress, který jste nakonfigurovali pro vaši kontejnerovou aplikaci.
- Přihlaste se k portálu Azure.
- Na panelu hledání zadejte název vaší aplikace kontejneru.
- V části Prostředky vyberte název vaší aplikace kontejneru.
- Na navigačním panelu rozbalte položku Aplikace a vyberte Kontejnery.
- Na stránce Kontejnery vyberte Diagnostické sondy.
- Rozbalte sondy živosti, připravenosti a spouštění.
- Pro každou sondu ověřte správnost hodnoty portu .
Hodnoty portu aktualizujte následujícím způsobem:
- Výběrem možnosti Upravit a nasadit vytvořte novou revizi.
- Na stránce Vytvořit a nasadit novou revizi zaškrtněte políčko vedle image kontejneru a vyberte Upravit.
- V okně Upravit kontejner vyberte Diagnostické sondy.
- Rozbalte sondy živosti, připravenosti a spouštění.
- Pro každou sondu upravte hodnotu portu .
- Vyberte tlačítko Uložit.
- Na stránce Vytvořit a nasadit novou revizi vyberte tlačítko Vytvořit.
Konfigurace zdravotních sond pro delší dobu spuštění
Pokud je povolený příchozí přenos dat, následující výchozí testy se automaticky přidají do hlavního kontejneru aplikace, pokud pro každý typ není definován žádný.
Tady jsou výchozí hodnoty pro každý typ sondy.
| Vlastnost | Startup | Připravenost | Životnost |
|---|---|---|---|
| Protokol | protokol TCP | protokol TCP | protokol TCP |
| Přístav | Cílový vstupní port | Cílový vstupní port | Cílový vstupní port |
| Přerušení zápasu | 3 sekundy | 5 sekund | Není k dispozici |
| Období | 1 sekunda | 5 sekund | Není k dispozici |
| Počáteční zpoždění | 1 sekunda | 3 sekundy | Není k dispozici |
| Prahová hodnota úspěchu | 1 | 1 | Není k dispozici |
| Prahová hodnota selhání | 240 | 48 | Není k dispozici |
Pokud spuštění vaší aplikace kontejneru trvá delší dobu (což je běžné v Javě), možná budete muset přizpůsobit vlastnost liveness a readiness probe Initial delay seconds odpovídajícím způsobem. Můžete zobrazit protokoly, abyste viděli typický čas spuštění vaší aplikace kontejneru.
- Přihlaste se k portálu Azure.
- Na panelu hledání zadejte název vaší aplikace kontejneru.
- V části Prostředky vyberte název vaší aplikace kontejneru.
- Na navigačním panelu rozbalte položku Aplikace a vyberte Kontejnery.
- Na stránce Kontejnery vyberte Diagnostické sondy.
- Výběrem možnosti Upravit a nasadit vytvořte novou revizi.
- Na stránce Vytvořit a nasadit novou revizi zaškrtněte políčko vedle image kontejneru a vyberte Upravit.
- V okně Upravit kontejner vyberte Diagnostické sondy.
- Rozbalte Liveness probes.
- Pokud je vybrána možnost Povolit sondy živosti, zvyšte hodnotu pro sekundy počátečního zpoždění.
- Rozbalte sondy připravenosti.
- Pokud je vybrána možnost Povolit testy připravenosti, zvyšte hodnotu pro sekundy počátečního zpoždění.
- Zvolte Uložit.
- Na stránce Vytvořit a nasadit novou revizi vyberte tlačítko Vytvořit.
Pak můžete zobrazit protokoly a zjistit, jestli se vaše aplikace kontejneru úspěšně spustí.
Další informace najdete v tématu Použití sond.
Ověřte, zda je provoz směrován na správnou revizi
Pokud se vaše aplikace typu kontejner nechová podle očekávání, může být problém tím, že požadavky se směrují na zastaralou revizi.
- Přihlaste se k portálu Azure.
- Na panelu hledání zadejte název vaší aplikace kontejneru.
- V části Prostředky vyberte název vaší aplikace kontejneru.
- Na navigačním panelu rozbalte položku Aplikace a vyberte Revize.
Pokud je režim revize nastavený na Single, veškerý provoz se ve výchozím nastavení směruje na nejnovější revizi. Karta Aktivní revize by měla obsahovat pouze jednu revizi s hodnotou Traffic100%.
Pokud je režim revize nastavený na Multiple, ověřte, že nesměrujete provoz do zastaralých revizí.
Další informace o konfiguraci rozdělení provozu najdete v tématu Rozdělení provozu v Azure Container Apps.
Ověření instalace nejnovější verze rozšíření Azure Container Apps
Pokud se při spouštění az containerapp příkazů v Azure CLI nebo rutinách Az.App z modulu v Azure PowerShellu zobrazí chyby týkající se chybějících parametrů, ujistěte se, že máte nainstalovanou nejnovější verzi rozšíření Azure Container Apps.
az extension add --name containerapp --upgrade
Kontrola, zda rozšíření Azure Container Apps podporuje funkce v režimu náhledu
Pokud funkce preview nejsou při spouštění az containerapp příkazů v Azure CLI dostupné, povolte funkce preview v rozšíření Azure Container Apps.
az extension add --name containerapp --upgrade --allow-preview true
Ruční odstranění virtuální sítě používané prostředím Azure Container Apps
Pokud se zobrazí zpráva provisioningState: ScheduledForDelete, ale vaše prostředí ve skutečnosti neodstraní, nezapomeňte přidruženou virtuální síť odstranit ručně.
Identifikujte virtuální síť používanou prostředím, které se pokoušíte odstranit. Nahraďte <zástupné symboly> vašimi hodnotami.
az containerapp env show --resource-group <RESOURCE_GROUP> --name <ENVIRONMENT>Ve výstupu vyhledejte
infrastructureSubnetIda poznamenejte si ID virtuální sítě. Příkladem ID virtuální sítě jevNet::myVNet.id.Odstraňte virtuální síť ručně:
az network vnet delete --resource-group <RESOURCE_GROUP> --name <VNET_ID>Odstraňte prostředí Azure Container Apps:
az containerapp env delete --resource-group <RESOURCE_GROUP> --name <ENVIRONMENT> --yes