Aracılığıyla paylaş


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:

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