Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kapsayıcı uygulamanız düzgün çalışmıyorsa Azure Container Apps günlüklerini ve yapılandırma ayarlarını gözden geçirmek temel sorunları ortaya çıkarabilir. Kapsayıcı uygulamanızla ilgili ayrıntıları bulmanıza ve görüntülemenize yardımcı olması için aşağıdaki kılavuzu kullanın.
Senaryolar
Aşağıdaki tabloda Azure Container Apps kullanırken karşılaşabileceğiniz sorunlar ve bunları çözmek için gerçekleştirebileceğiniz eylemler listelanmaktadır.
| Senaryo | Açıklama | Eylemler |
|---|---|---|
| Tüm senaryolar |
Günlükleri görüntüleme Sorunları teşhis et ve çöz |
|
| Yeni düzeltme dağıtılırken hata oluştu | Yeni bir düzeltme dağıtmaya çalıştığınızda bir hata iletisi alırsınız. | Container Apps'in kapsayıcı görüntünüzü çekebildiğini doğrulama |
| Sağlama çok uzun sürüyor | Yeni bir düzeltmeyi dağıttığınızda, yeni düzeltmenin Sağlama durumuSağlama ve Çalışma durumusüresiz olarak işleniyor şeklindedir. | Sistem durumu yoklamalarının doğru yapılandırıldığını doğrulama |
| Düzeltme düzeyi düşürüldü | Yeni bir revizyonun sağlanması 10 dakikadan fazla sürer. Sonunda Sağlama durumuSağlandı, ancak Çalışma durumuKötüleşmiş.
Çalışma durumu araç ipucu şu şekildedirDetails: Deployment Progress Deadline Exceeded. 0/1 replicas ready. |
Sistem durumu yoklamalarının doğru yapılandırıldığını doğrulama |
| Uç noktalara yönelik istekler başarısız oldu | Kapsayıcı uygulaması uç noktası isteklere yanıt vermez. | Giriş yapılandırmasını gözden geçirin |
| İstekler dönüş durumu 403 | Kapsayıcı uygulama uç noktası HTTP hatası 403 (erişim reddedildi) ile isteklere yanıt verir. | Ağ yapılandırmasının doğru olduğunu doğrulayın |
| Yanıtlar beklendiği gibi değil | Kapsayıcı uygulama uç noktası isteklere yanıt verir, ancak yanıtlar beklendiği gibi değildir. |
Trafiğin doğru düzeltmeye yönlendirildiğinden emin olun Kapsayıcı kayıt defterine görüntü dağıtırken benzersiz etiketler kullandığınızı doğrulayın |
| Eksik parametreler hatası | Azure CLI'da komut çalıştırdığınızda az containerapp veya Azure PowerShell'de modülden Az.App cmdlet'leri çalıştırdığınızda eksik parametrelerle ilgili hata iletileri alırsınız. |
Azure Container Apps uzantısının en son sürümünün yüklü olduğunu doğrulayın |
| Önizleme özellikleri kullanılamıyor | Önizleme özellikleri, Azure CLI'de komutlarını çalıştırdığınızda kullanılamaz. | Azure Container Apps uzantısının önizleme özelliklerine izin verdiğinden emin olun |
| Key Vault gizli eşitleme hatası | Azure Key Vault'tan gizli bilgileri alamaz veya eşitleyemezsiniz. | Key Vault referanslarında sorun giderme |
| Uygulamanızı veya ortamınızı silme çalışmıyor | Bu soruna genellikle provisioningState: ScheduledForDelete gibi bir ileti eşlik eder. | İlişkili VNet'i el ile silin |
Günlükleri görüntüleme
Kapsayıcı uygulamanızla ilgili sorunları ararken izleyebileceğiniz ilk adımlardan biri günlük iletilerini görüntülemektir. Hem konsol hem de sistem günlüklerinin çıkışını görüntüleyebilirsiniz. Konteyner uygulamanızın konsol günlüğü, uygulamanın stdout ve stderr akışlarını yakalar. Container Apps, hizmet düzeyi olayları için sistem günlükleri oluşturur.
- Azure Portal’ında oturum açın.
- Arama çubuğuna kapsayıcı uygulamanızın adını girin.
- Kaynaklar bölümünde kapsayıcı uygulamanızın adını seçin.
- Gezinme çubuğunda İzleme'yi genişletin ve Günlük akışı (not Günlükler) seçin.
- Günlük akışı sayfasında Bu düzeltme sıfıra ölçeklendi yazıyorsa, Düzeltme Yönetimine Git düğmesini seçin. Yeni bir versiyonu en az 1 çoğaltma sayısına ölçeklendirilmiş olarak dağıtın. Daha fazla bilgi için bkz . Azure Container Apps'te ölçeklendirme.
- Günlük akışı sayfasında Günlükler'i Konsol veya Sistem olarak ayarlayın.
Sorunları tanılama ve çözme aracını kullanma
Kapsayıcı uygulamanızın sistem durumu, yapılandırması ve performansıyla ilgili sorunları bulmak için sorunları tanılama ve çözme aracını kullanabilirsiniz.
- Azure Portal’ında oturum açın.
- Arama çubuğuna kapsayıcı uygulamanızın adını girin.
- Kaynaklar bölümünde kapsayıcı uygulamanızın adını seçin.
- Gezinti çubuğunda Sorunları tanılama ve çözme'yi seçin.
- Sorunları tanılama ve çözme sayfasında Sorun giderme kategorilerinden birini seçin.
- Kapsayıcı uygulamanızla ilgili sorunları çözmenin yollarını bulmak için gezinti çubuğundaki kategorilerden birini seçin.
Kapsayıcı görüntüsünün erişilebilirliğini doğrulama
Yeni bir düzeltme dağıtmaya çalıştığınızda bir hata iletisi alırsanız, Container Apps'in kapsayıcı görüntünüzü çekebildiğinden emin olun.
- Kapsayıcı ortamı güvenlik duvarınızın kapsayıcı kayıt defterine erişimi engellemediğinden emin olun. Daha fazla bilgi için bkz Kullanıcı tanımlı yollarla giden trafiği denetleme.
- Mevcut sanal ağınız varsayılan Azure tarafından sağlanan DNS sunucusu yerine özel bir DNS sunucusu kullanıyorsa, DNS sunucunuzun doğru yapılandırıldığını ve kapsayıcı kayıt defterinin DNS aramasının başarısız olmadığını doğrulayın. Daha fazla bilgi için bkz . DNS.
- Kapsayıcı Uygulamaları'nın bulut derleme özelliğini kullanarak sizin için bir kapsayıcı görüntüsü oluşturduysanız (bkz. Azure Container Apps için Koddan Buluta Yol), görüntünüz genel erişime açık olmadığından bu bölüm geçerli değildir.
Konsol uygulaması olarak çalıştırılabilen bir Docker kapsayıcısı için, yükseltilmiş komut isteminde aşağıdaki komutu çalıştırarak görüntünüzün genel olarak erişilebilir olduğunu doğrulayın. Bu komutu çalıştırmadan önce, <> ile çevrili yer tutucuları kendi değerlerinizle değiştirin.
docker run --rm <YOUR_CONTAINER_IMAGE>
Docker'ın hata bildirmeden görüntünüzü çalıştırdığını doğrulayın. Docker'ı Windows üzerinde çalıştırıyorsanız Docker Altyapısı'nın çalıştığından emin olun.
Resminize genel erişim sağlanmıyorsa aşağıdaki hatayı alabilirsiniz.
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'.
Daha fazla bilgi için bkz Azure Container Apps ortamında Ağ.
Giriş yapılandırmasını gözden geçirme
Kapsayıcı uygulamanızın giriş ayarları, kapsayıcı uygulamanıza dış ve iç trafiğin yönlendirmesini denetleen bir dizi kural aracılığıyla uygulanır. Kapsayıcı uygulamanıza bağlanamıyorsanız, giriş ayarlarınızın istekleri engellemediğinden emin olmak için bu giriş ayarlarını gözden geçirin.
- Azure Portal’ında oturum açın.
- Arama çubuğuna kapsayıcı uygulamanızın adını girin.
- Kaynaklar'ın altında kapsayıcı uygulamanızın adını seçin.
- Gezinti çubuğunda Ayarlar'ı genişletin ve Giriş'i seçin.
| Sorun | Eylem |
|---|---|
| Giriş etkin mi? | Etkin onay kutusunun işaretli olduğunu doğrulayın. |
| Dış girişe izin vermek istiyor musunuz? | Giriş Trafiği'nin Her yerden trafik kabul ediyor olarak ayarlandığını doğrulayın. Kapsayıcı uygulamanız HTTP trafiğini dinlemiyorsa Giriş Trafiği'ni Container Apps Ortamı ile Sınırlı olarak ayarlayın. |
| İstemciniz kapsayıcı uygulamanıza erişmek için HTTP veya TCP kullanıyor mu? | Giriş türünün doğru protokole (HTTP veya TCP) ayarlandığını doğrulayın. |
| İstemciniz mTLS'i destekliyor mu? | İstemci sertifika modunun yalnızca istemciniz mTLS'yi destekliyorsa Gerekli olarak ayarlandığını doğrulayın. Daha fazla bilgi için bkz . İstemci sertifikası kimlik doğrulamasını yapılandırma. |
| İstemciniz HTTP/1 veya HTTP/2 kullanıyor mu? | Aktarım'ın doğru HTTP sürümüne (HTTP/1 veya HTTP/2) ayarlandığını doğrulayın. |
| Hedef bağlantı noktası doğru ayarlanmış mı? | Hedef bağlantı noktasının kapsayıcı uygulamanızın dinlediği bağlantı noktasına veya kapsayıcı uygulamanızın Dockerfile dosyası tarafından kullanıma sunulan bağlantı noktasına ayarlandığını doğrulayın. |
| İstemci IP adresiniz reddedildi mi? | IP Güvenlik Kısıtlamaları Modu Tüm trafiğe izin ver olarak ayarlanmamışsa istemcinizin reddedilen bir IP adresine sahip olmadığını doğrulayın. |
Daha fazla bilgi için bkz Azure Container Apps'te Ingress.
Ağ yapılandırmasını doğrulama
Azure özyinelemeli çözümleyiciler istekleri çözümlemek için IP adresini 168.63.129.16 kullanır.
- Sanal ağınız varsayılan Azure tarafından sağlanan DNS sunucusu yerine özel bir DNS sunucusu kullanıyorsa, DNS sunucunuzu çözümlenmemiş DNS sorgularını adresine iletecek
168.63.129.16şekilde yapılandırın. - NSG veya güvenlik duvarınızı yapılandırırken
168.63.129.16adresini engellemeyin.
Daha fazla bilgi için bkz Azure Container Apps ortamında Ağ.
Sağlık yoklamaları yapılandırmasını doğrulama
Aktarımları olarak TCP kullanan tüm sistem durumu yoklaması türleri (canlılık, hazır olma ve başlatma) için, bağlantı noktası numaralarının kapsayıcı uygulamanız için yapılandırdığınız giriş hedef bağlantı noktasıyla eşleşip eşleşmediğini doğrulayın.
- Azure Portal’ında oturum açın.
- Arama çubuğuna kapsayıcı uygulamanızın adını girin.
- Kaynaklar'ın altında kapsayıcı uygulamanızın adını seçin.
- Gezinti çubuğunda Uygulama'yı genişletin ve Kapsayıcılar'ı seçin.
- Kapsayıcılar sayfasında Sistem durumu yoklamaları'nı seçin.
- Canlılık yoklamaları, Hazırlık yoklamaları ve Başlangıç yoklamaları'nı genişletin.
- Her prob için Port değerinin doğru olduğunu doğrulayın.
Bağlantı noktası değerlerini aşağıdaki gibi güncelleştirin:
- Yeni bir düzeltme oluşturmak için Düzenle ve dağıt'ı seçin.
- Yeni düzeltme oluştur ve dağıt sayfasında, kapsayıcı görüntünüzün yanındaki onay kutusunu seçin ve Düzenle'yi seçin.
- Kapsayıcı Düzenle penceresinde, Sağlık denetimleri'ni seçin.
- Canlılık yoklamaları, Hazırlık yoklamaları ve Başlangıç yoklamaları'nı genişletin.
- Her prob için Bağlantı noktası değerini düzenleyin.
- Kaydet düğmesini seçin.
- Yeni düzeltme oluştur ve dağıt sayfasında Oluştur düğmesini seçin.
Uzun ilk çalıştırma süresi için sağlık yoklamalarını yapılandırma
Giriş açıldığında, her tür için tanımlanmadığı takdirde aşağıdaki varsayılan problar otomatik olarak ana uygulama konteynerine eklenir.
Her araştırma türü için varsayılan değerler aşağıdadır.
| Özellik | Başlangıç | Hazırlık | Canlılık |
|---|---|---|---|
| Protokol | TCP | TCP | TCP |
| Bağlantı noktası | Giriş hedef bağlantı noktası | Giriş hedef bağlantı noktası | Giriş hedef bağlantı noktası |
| Zaman Aşımı | 3 saniye | 5 saniye | yok |
| Dönem | 1 saniye | 5 saniye | yok |
| İlk gecikme | 1 saniye | 3 saniye | yok |
| Başarı eşiği | 1 | 1 | yok |
| Hata eşiği | 240 | 48 | yok |
Kapsayıcı uygulamanızın başlatılması uzun sürüyorsa (Java'da yaygındır) canlılık ve hazırlık yoklaması başlangıç gecikme saniyesi özelliğinizi buna göre özelleştirmeniz gerekebilir. Kapsayıcı uygulamanızın tipik başlangıç zamanını görmek için günlükleri görüntüleyebilirsiniz.
- Azure Portal’ında oturum açın.
- Arama çubuğuna kapsayıcı uygulamanızın adını girin.
- Kaynaklar'ın altında kapsayıcı uygulamanızın adını seçin.
- Gezinti çubuğunda Uygulama'yı genişletin ve Kapsayıcılar'ı seçin.
- Kapsayıcılar sayfasında Sistem durumu yoklamaları'nı seçin.
- Yeni bir düzeltme oluşturmak için Düzenle ve dağıt'ı seçin.
- Yeni düzeltme oluştur ve dağıt sayfasında, kapsayıcı görüntünüzün yanındaki onay kutusunu seçin ve Düzenle'yi seçin.
- Kapsayıcı Düzenle penceresinde, Sağlık denetimleri'ni seçin.
- Canlılık yoklamalarını genişletin.
- Eğer Canlılık yoklamalarını etkinleştir seçiliyse, İlk gecikme saniyeleri değerini artırın.
- Hazır olma yoklamaları'nı genişletin.
- Hazırlık yoklamalarını etkinleştir seçiliyse, ilk gecikme saniyesi değerini artırın.
- Kaydet'i seçin.
- Yeni düzeltme oluştur ve dağıt sayfasında Oluştur düğmesini seçin.
Ardından kapsayıcı uygulamanızın başarıyla başlatılıp başlatılmayabileceğini görmek için günlükleri görüntüleyebilirsiniz.
Daha fazla bilgi için Sistem Durumu Yoklamalarını Kullanma bölümüne bakın.
Trafiğin doğru düzeltmeye yönlendirildiğinden emin olun
Kapsayıcı uygulamanız beklendiği gibi davranmıyorsa, sorun isteklerin güncel olmayan bir düzeltmeye yönlendirilmesi olabilir.
- Azure Portal’ında oturum açın.
- Arama çubuğuna kapsayıcı uygulamanızın adını girin.
- Kaynaklar'ın altında kapsayıcı uygulamanızın adını seçin.
- Gezinti çubuğunda Uygulama'yı genişletin ve Düzeltmeler'i seçin.
Düzeltme Modu olarak ayarlanırsaSingle, tüm trafik varsayılan olarak en son düzeltmenize yönlendirilir.
Etkin düzeltmeler sekmesinde yalnızca bir düzeltme, Trafik değeriyle birlikte listelenmelidir.
Düzeltme Modu olarak ayarlandıysaMultiple, trafiği güncel olmayan düzeltmelere yönlendirmediğinizden emin olun.
Trafik bölme işlemini yapılandırma hakkında daha fazla bilgi için, bkz Azure Container Apps'te trafik bölme.
Azure Container Apps uzantısının en son sürümünün yüklü olduğunu doğrulayın
Azure CLI'da komutları veya Azure PowerShell'deki modülden az containerapp cmdlet'leri çalıştırdığınızda Az.App eksik parametrelerle ilgili hatalar alırsanız, Azure Container Apps uzantısının en son sürümünü yüklediğinizden emin olun.
az extension add --name containerapp --upgrade
Azure Container Apps uzantısının önizleme özelliklerine izin verdiğinden emin olun
Azure CLI'de komutları çalıştırdığınızda önizleme özellikleri mevcut değilse, Azure Container Apps uzantısında önizleme özelliklerini açın.
az extension add --name containerapp --upgrade --allow-preview true
Azure Container Apps ortamı tarafından kullanılan VNet'i kendiniz silme
provisioningState: ScheduledForDelete iletisini alırsanız ancak ortamınız gerçekten silinmiyorsa, ilişkili VNet yani sanal ağınızı manuel olarak sildiğinizden emin olun.
Silmeye çalıştığınız ortam tarafından kullanılan sanal ağı tanımlayın. PLACEHOLDERS< değerini >değerlerinizle değiştirin.
az containerapp env show --resource-group <RESOURCE_GROUP> --name <ENVIRONMENT>Çıktıda
infrastructureSubnetIdifadesini arayın ve VNet Kimliğini not edin. Örnek bir sanal ağ kimliği:vNet::myVNet.id.Sanal Ağı Manuel Olarak Silin:
az network vnet delete --resource-group <RESOURCE_GROUP> --name <VNET_ID>Azure Container Apps ortamını silin:
az containerapp env delete --resource-group <RESOURCE_GROUP> --name <ENVIRONMENT> --yes