Azure Container Apps'te kapsayıcı hata ayıklama konsoluna bağlanma
Azure Container Apps platformu, aşağıdaki koşullarda uygulamanızın sorunlarını gidermenize yardımcı olacak bir hata ayıklama konsolu sunar:
- Yalnızca uygulamayı ve çalışma zamanı bağımlılıklarını içeren bir kapsayıcı veya "distroless" bir görüntü kullandığınızda hedef kapsayıcıya bağlanamazsınız.
- Ağ sorunlarıyla karşılaştığınızda görüntülerinizde bunları araştırmak için hata ayıklama yardımcı programları yoktur.
Azure CLI'yı kullanarak hata ayıklama konsoluna bağlanabilirsiniz.
Not
Hata ayıklama konsolu, temel alınan kaynakları uygulamanızın çalıştığı kapsayıcıyla paylaşan ayrı bir kapsayıcı oluşturur. Bir hata ayıklama kapsayıcısı zaten varsa, hata ayıklama konsolu yenisini oluşturmak yerine var olan kapsayıcıyı yeniden kullanabilir. Kapsayıcı uygulaması çoğaltması başına çalışan en fazla bir hata ayıklama kapsayıcısı vardır. Hata ayıklama kapsayıcısını çalışır durumda tutmanız gerekmiyorsa exit girin veya hata ayıklama konsolu oturumunda Ctrl/Cmd + D tuşlarını kullanın.
Azure CLI
Bir kapsayıcıya hata ayıklama konsoluna bağlanmak için komutunu kullanın az containerapp debug
. Konsoldan çıkmak için exit girin veya Ctrl/Cmd + D tuşlarını kullanın.
Örneğin, aşağıdaki komutu kullanarak tek bir kapsayıcı ile kapsayıcı uygulamasındaki bir kapsayıcı hata ayıklama konsoluna bağlanın. Bu komutu çalıştırmadan önce öğesini kapsayıcı uygulamanızın değerleriyle değiştirin <PLACEHOLDERS>
.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP>
Birden çok düzeltme, çoğaltma ve kapsayıcı içeren bir kapsayıcı uygulamasındaki bir kapsayıcı hata ayıklama konsoluna bağlanmak için komutuna az containerapp debug
aşağıdaki parametreleri ekleyin.
Bağımsız değişken | Açıklama |
---|---|
--revision |
Hata ayıklamak için kapsayıcının düzeltme adı. |
--replica |
Hata ayıklamak için kapsayıcının çoğaltma adı. |
--container |
Hata ayıklamak için kapsayıcının kapsayıcı adı. |
Düzeltme adlarını komutuyla az containerapp revision list
alabilirsiniz. Bu komutu çalıştırmadan önce öğesini kapsayıcı uygulamanızın değerleriyle değiştirin <PLACEHOLDERS>
.
az containerapp revision list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "[].name"
az containerapp replica list
Çoğaltma ve kapsayıcı adlarını almak için komutunu kullanın. Bu komutu çalıştırmadan önce öğesini kapsayıcı uygulamanızın değerleriyle değiştirin <PLACEHOLDERS>
.
az containerapp replica list \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--query "[].{Containers:properties.containers[].name, Name:name}"
komutuyla kapsayıcı hata ayıklama konsoluna bağlanın az containerapp debug
. Bu komutu çalıştırmadan önce öğesini kapsayıcı uygulamanızın değerleriyle değiştirin <PLACEHOLDERS>
.
az containerapp debug \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision <REVISION_NAME> \
--replica <REPLICA_NAME> \
--container <CONTAINER_NAME>
Hata Ayıklama Konsolu'ndaki yerleşik araçlar
Aşağıdaki tanılama araçları, sorunları gidermenize yardımcı olmak için hata ayıklama konsoluna önceden yüklenmiş olarak bulunur:
- ip-utils
- net-tools
- procps
- lsof
- util-linux
- Nc
- wget
- openssl
- traceroute
- ca-certificates
- bind-utils
- tcpping
Diğer araçları yüklemek istiyorsanız komutunu çalıştırın tdnf install -y <TOOL_NAME>
. Bu komutu çalıştırmadan önce öğesini kapsayıcı uygulamanızın değerleriyle değiştirin <PLACEHOLDERS>
.
Örneğin, aşağıdaki komutu kullanarak JDK'yi hata ayıklama konsoluna yükleyin:
tdnf install -y msopenjdk-17
Senaryo - Hata Ayıklama Konsolu aracılığıyla kapsayıcının dosya sistemine erişme
Varsayılan olarak, hata ayıklama konsolu kök kullanıcı olarak çalışır.
Kapsayıcınız kök kullanıcı olarak çalışıyorsa kapsayıcının dosya sistemine erişebilirsiniz /proc/1
. Kapsayıcınız kök kullanıcı olarak çalışmıyorsa, dizine erişmeden /proc/1
önce kullanıcı arasında geçiş yapmak için aşağıdaki komutu çalıştırın; aksi takdirde izin reddedildi hatası alırsınız.
switch-user