Verbinding maken met een console voor foutopsporing van containers in Azure Container Apps
Het Azure Container Apps-platform biedt een console voor foutopsporing om u te helpen bij het oplossen van problemen met uw toepassing onder de volgende omstandigheden:
- U kunt geen verbinding maken met de doelcontainer wanneer u een container gebruikt die alleen de toepassing en de runtime-afhankelijkheden bevat, of een installatiekopieën zonder distributie.
- Wanneer netwerkproblemen optreden, hebben uw installatiekopieën geen hulpprogramma's voor foutopsporing om ze te onderzoeken.
U kunt verbinding maken met de console voor foutopsporing met behulp van de Azure CLI.
Notitie
De console voor foutopsporing maakt een afzonderlijke container, die de onderliggende resources deelt met de container waarin uw app wordt uitgevoerd. Als er al een foutopsporingscontainer bestaat, wordt de bestaande console opnieuw gebruikt in plaats van een nieuwe te maken. Er is maximaal één actieve foutopsporingscontainer per container-app-replica. Als u geen foutopsporingscontainer actief wilt houden, voert u afsluiten in of gebruikt u Ctrl/Cmd + D in de consolesessie voor foutopsporing.
Azure-CLI
Gebruik de opdracht om verbinding te maken met een container met de az containerapp debug
foutopsporingsconsole. Als u de console wilt afsluiten, voert u afsluiten in of gebruikt u Ctrl/Cmd + D.
Maak bijvoorbeeld verbinding met een console voor foutopsporing in een container in een container-app met één container met behulp van de volgende opdracht. Voordat u deze opdracht uitvoert, vervangt u de <PLACEHOLDERS>
waarden van uw container-app.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP>
Als u verbinding wilt maken met een console voor foutopsporing in een container in een container-app met meerdere revisies, replica's en containers, moet u de volgende parameters in de az containerapp debug
opdracht opnemen.
Argument | Beschrijving |
---|---|
--revision |
De revisienaam van de container voor foutopsporing. |
--replica |
De replicanaam van de container voor foutopsporing. |
--container |
De containernaam van de container voor foutopsporing. |
U kunt de revisienamen ophalen met de az containerapp revision list
opdracht. Voordat u deze opdracht uitvoert, vervangt u de <PLACEHOLDERS>
waarden van uw container-app.
az containerapp revision list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "[].name"
Gebruik de az containerapp replica list
opdracht om de replica- en containernamen op te halen. Voordat u deze opdracht uitvoert, vervangt u de <PLACEHOLDERS>
waarden van uw container-app.
az containerapp replica list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--query "[].{Containers:properties.containers[].name, Name:name}"
Maak verbinding met de console voor foutopsporing in de container met de az containerapp debug
opdracht. Voordat u deze opdracht uitvoert, vervangt u de <PLACEHOLDERS>
waarden van uw container-app.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--replica <REPLICA_NAME> \
--container <CONTAINER_NAME>
Ingebouwde hulpprogramma's in Debug Console
De volgende diagnostische hulpprogramma's zijn vooraf geïnstalleerd in de console voor foutopsporing om u te helpen bij het oplossen van problemen:
- ip-utils
- net-tools
- procps
- lsof
- util-linux
- Nc
- wget
- openssl
- traceroute
- ca-certificates
- bind-utils
- tcpping
Als u andere hulpprogramma's wilt installeren, voert u de tdnf install -y <TOOL_NAME>
opdracht uit. Voordat u deze opdracht uitvoert, vervangt u de <PLACEHOLDERS>
waarden van uw container-app.
Installeer bijvoorbeeld JDK in de foutopsporingsconsole met behulp van de volgende opdracht:
tdnf install -y msopenjdk-17
Scenario: toegang tot het bestandssysteem van de container via de foutopsporingsconsole
Standaard wordt de foutopsporingsconsole uitgevoerd als hoofdgebruiker.
U kunt toegang krijgen tot het /proc/1
bestandssysteem van de container als uw container wordt uitgevoerd als hoofdgebruiker. Als uw container niet als hoofdgebruiker wordt uitgevoerd, voert u de onderstaande opdracht uit om de gebruiker over te schakelen voordat u toegang krijgt tot /proc/1
de map, of krijgt u een foutmelding dat de machtiging is geweigerd.
switch-user