Tüm Ürünler
Search
Belge Merkezi

Elastic Container Instance:Use probes for container health checks

Son Güncelleme:Oct 06, 2026

Canlılık (liveness) ve hazırlık (readiness) probları, bir konteynerin durumunu kontrol eden mekanizmalardır. Canlılık probu konteynerin düzgün çalışıp çalışmadığını belirler; hazırlık probu ise istekleri karşılamaya hazır olup olmadığını tespit eder. Bu konu, Elastic Container Instance (ECI) içindeki konteynerler için canlılık ve hazırlık problarının nasıl yapılandırılacağını açıklar. Bu problar, ECI'nin konteynerlerinizin durumunu izlemesine ve yönetmesine yardımcı olarak hizmetin yüksek düzeyde kullanılabilirliğini ve kararlılığını sağlar.

Genel bakış

ECI, konteynerlerin sağlığını ve durumunu kontrol etmek için canlılık ve hazırlık problarını destekler.

Prob

Açıklama

Kullanım senaryoları

canlılık probu

Konteynerin düzgün çalışıp çalışmadığını kontrol eder.

  • Denetim başarılı olursa konteyner sağlıklı kabul edilir.

  • Denetim başarısız olursa sistem, yapılandırılan yeniden başlatma ilkesine göre konteyneri yeniden başlatır.

  • Canlılık probu yapılandırılmamışsa konteyner her zaman sağlıklı kabul edilir.

  • Canlılık probu kilitlenmeleri tespit edebilir. Örneğin, bir uygulama çalışıyor ancak ilerleme kaydedemiyorsa prob konteyneri yeniden başlatarak kurtarmasına yardımcı olur.

  • Uzun süre çalışan uygulamalar, yeniden başlatma olmadan kurtarılamayan bozuk bir duruma girebilir. Canlılık probu bu durumu tespit edip düzeltebilir.

hazırlık probu

Konteynerin istekleri kabul etmeye ve yanıtlamaya hazır olup olmadığını kontrol eder.

  • Denetim başarılı olursa konteyner hazır kabul edilir ve trafik alabilir.

  • Denetim başarısız olursa konteyner hazır değildir ve prob tekrar başarılı olana kadar sistem konteynere trafik göndermeyi durdurur.

  • Hazırlık probu yapılandırılmamışsa konteyner başladıktan hemen sonra hazır kabul edilir.

Bir uygulama geçici olarak trafiği karşılayamıyorsa hazırlık probu kullanın. Örneğin, başlatma sırasında büyük miktarda veri veya yapılandırma dosyası yüklenirken bu durum oluşabilir. Böyle durumlarda uygulamayı sonlandırmak istemezsiniz ancak geçici olarak istek gönderilmesini durdurmak isteyebilirsiniz.

API yapılandırması

CreateContainerGroup işlemiyle bir ECI örneği oluştururken LivenessProbe ve ReadinessProbe parametrelerini kullanarak probları yapılandırabilirsiniz. Daha fazla bilgi için bkz. CreateContainerGroup.

LivenessProbe parametreleri

Önemli

LivenessProbe parametrelerini yapılandırırken yalnızca bir denetim yöntemi belirtebilirsiniz: HttpGet, Exec veya TcpSocket.

Parametre

Tür

Örnek

Açıklama

Container.N.LivenessProbe.HttpGet.Path

string

/healthyz

HTTP GET sağlık denetimi isteğinin yolu.

Container.N.LivenessProbe.HttpGet.Port

integer

8888

HTTP GET sağlık denetimi isteğinin bağlantı noktası.

Container.N.LivenessProbe.HttpGet.Scheme

string

HTTP

HTTP GET isteğinin protokolü. Geçerli değerler:

  • HTTP

  • HTTPS

Container.N.LivenessProbe.Exec.Command.N

array

cat /tmp/healthy

Sağlık denetimi için konteyner içinde çalıştırılacak komut.

Container.N.LivenessProbe.TcpSocket.Port

integer

8000

TCP soketi sağlık denetimi için kontrol edilecek bağlantı noktası.

Container.N.LivenessProbe.InitialDelaySeconds

integer

5

Konteyner başladıktan sonra ilk probun çalışmasına kadar geçen saniye cinsinden gecikme süresi.

Container.N.LivenessProbe.PeriodSeconds

integer

1

Probu çalıştırma aralığı. Varsayılan değer: 10. Minimum değer: 1. Birim: saniye.

Container.N.LivenessProbe.SuccessThreshold

integer

1

Bir başarısızlıktan sonra probun başarılı sayılması için gereken ardışık başarı sayısı. Canlılık probları için bu değer 1 olmalıdır. Varsayılan: 1.

Container.N.LivenessProbe.FailureThreshold

integer

3

Probu başarısız saymak için gereken ardışık başarısızlık sayısı. Varsayılan değer: 3.

Container.N.LivenessProbe.TimeoutSeconds

integer

1

Probu zaman aşımına uğratacak saniye sayısı. Varsayılan değer: 1. Minimum değer: 1. Birim: saniye.

ReadinessProbe parametreleri

Önemli

ReadinessProbe parametrelerini yapılandırırken yalnızca bir denetim yöntemi belirtebilirsiniz: HttpGet, Exec veya TcpSocket.

Parametre

Tür

Örnek

Açıklama

Container.N.ReadinessProbe.HttpGet.Path

string

/healthyz

HTTP GET sağlık denetimi isteğinin yolu.

Container.N.ReadinessProbe.HttpGet.Port

integer

8888

HTTP GET sağlık denetimi isteğinin bağlantı noktası.

Container.N.ReadinessProbe.HttpGet.Scheme

string

HTTP

HTTP GET isteğinin protokolü. Geçerli değerler:

  • HTTP

  • HTTPS

Container.N.ReadinessProbe.Exec.Command.N

array

cat /tmp/healthy

Sağlık denetimi için konteyner içinde çalıştırılacak komut.

Container.N.ReadinessProbe.TcpSocket.Port

integer

8000

TCP soketi sağlık denetimi için kontrol edilecek bağlantı noktası.

Container.N.ReadinessProbe.InitialDelaySeconds

integer

5

Konteyner başladıktan sonra ilk probun çalışmasına kadar geçen saniye cinsinden gecikme süresi.

Container.N.ReadinessProbe.PeriodSeconds

integer

1

Probu çalıştırma aralığı. Varsayılan değer: 10. Minimum değer: 1. Birim: saniye.

Container.N.ReadinessProbe.SuccessThreshold

integer

1

Bir başarısızlıktan sonra probun başarılı sayılması için gereken minimum ardışık başarı sayısı. Varsayılan: 1. Minimum: 1.

Container.N.ReadinessProbe.FailureThreshold

integer

3

Probu başarısız saymak için gereken ardışık başarısızlık sayısı. Varsayılan değer: 3.

Container.N.ReadinessProbe.TimeoutSeconds

integer

1

Probu zaman aşımına uğratacak saniye sayısı. Varsayılan değer: 1. Minimum değer: 1. Birim: saniye.

Konsol yapılandırması

Elastic Container Instance konsolunda bir ECI örneği oluştururken Container Configurations bölümünde bir konteyner seçin, konteynerin gelişmiş ayarlarını genişletin, sağlık denetimlerini etkinleştirin ve ardından probları yapılandırın.

Not

Konsolda probları yapılandırırken yalnızca komut satırı ve HTTP isteği yöntemleri desteklenir. TCP soketi yöntemi desteklenmez.

Parametre

Açıklama

Timeout Period

  • Waiting Period: Konteyner başladıktan sonra ilk probun çalışmasına kadar beklenen saniye cinsinden süre. Bu, initialDelaySeconds API parametresine karşılık gelir.

  • Timeout Period: Probu zaman aşımına uğratacak saniye cinsinden süre. Prob zaman aşımına uğrarsa başarısız kabul edilir. Bu, timeoutSeconds API parametresine karşılık gelir.

Method

Bir denetim yöntemi seçin.

  • Script: Prob, konteyner içinde bir komut çalıştırır. Komut 0 durum koduyla çıkarsa denetim başarılı olur.

  • HTTP Request: Prob, konteynere bir HTTP isteği gönderir. Yanıt durum kodu 200'den büyük veya eşit ve 400'den küçükse (2xx veya 3xx) denetim başarılı olur.

Script

Denetim yöntemi olarak Script seçerseniz konteynerde çalıştırılacak komutu belirtmeniz gerekir.

HTTP Request

Denetim yöntemi olarak HTTP Request seçerseniz HTTP GET isteği için yolu, bağlantı noktasını ve protokolü belirtmeniz gerekir.

Örnek

Bu örnekte, canlılık ve hazırlık probları içeren bir ECI örneği oluşturma ve probları gözlemlemek için hizmet hatasını simüle etme adımları gösterilmektedir.

  1. ECI örneği oluşturmak için CreateContainerGroup işlemini çağırın.

    Aşağıdaki örnekte sağlık denetimleri için TCP soketi yöntemi kullanılmaktadır:

    ContainerGroupName=test-probe
    # Use the nginx image and automatically create and associate an EIP.
    Container.1.Name=container-1
    Container.1.Image=nginx
    AutoCreateEip=true
    # Liveness probe: checks port 80 every 3s, starting 5s after launch. Success threshold: 1, failure threshold: 3, timeout: 10s.
    Container.1.LivenessProbe.TcpSocket.Port=80
    Container.1.LivenessProbe.InitialDelaySeconds=5
    Container.1.LivenessProbe.PeriodSeconds=3
    Container.1.LivenessProbe.SuccessThreshold=1
    Container.1.LivenessProbe.FailureThreshold=3
    Container.1.LivenessProbe.TimeoutSeconds=10
    # Readiness probe: checks port 80 every 3s, starting 5s after launch. Success threshold: 1, failure threshold: 3, timeout: 10s.
    Container.1.ReadinessProbe.TcpSocket.Port=80
    Container.1.ReadinessProbe.InitialDelaySeconds=5
    Container.1.ReadinessProbe.PeriodSeconds=3
    Container.1.ReadinessProbe.SuccessThreshold=1
    Container.1.ReadinessProbe.FailureThreshold=3
    Container.1.ReadinessProbe.TimeoutSeconds=10
  2. Elastic Container Instance konsolunda ECI örneği olaylarını görüntüleyin.

    ECI örneği oluşturulduktan sonra örnek kimliğine tıklayarak ayrıntılar sayfasını açın. Events sekmesinde konteynerin normal başladığını görebilirsiniz.

    Olay listesinde sırasıyla dört Normal olay gösterilir: Pulling image "nginx", Successfully pulled image "nginx", Created container container-1 ve Started container container-1.

  3. Konteynere bağlanın. Daha fazla bilgi için bkz. Workbench ile ECI örneğine bağlanma.

  4. Hizmet hatasını simüle etmek için Nginx dinleme bağlantı noktasını değiştirin.

    1. Nginx dinleme bağlantı noktasını değiştirin.

      Not

      Bu örnekte kullanılan Nginx görüntüsünde vim yüklü değildir. vi komutunu çalıştırmadan önce vim'i yüklemek için apt-get update ve apt-get install vim komutlarını çalıştırın.

      vi /etc/nginx/conf.d/default.conf

      Aşağıdaki örnekte gösterildiği gibi dinleme bağlantı noktasını 80'den 8080'e değiştirin:

      server {
          listen       8080;
          listen  [::]:8080;
          server_name  localhost;
          #access_log  /var/log/nginx/host.access.log  main;
          location / {
              root   /usr/share/nginx/html;
              index  index.html index.htm;
          }
          #error_page  404              /404.html;
          # redirect server error pages to the static page /50x.html
          #
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   /usr/share/nginx/html;
          }
      }
    2. Nginx yapılandırmasını yeniden yükleyin.

      nginx -s reload
  5. Probların etkisini kontrol edin.

    Nginx'i yeniden yükledikten birkaç saniye sonra konteyner otomatik olarak yeniden başlar. Canlılık ve hazırlık probları başarısız olduktan sonra konteynerin yeniden başlatıldığını görmek için örnek olaylarını görüntüleyebilirsiniz.

    Olay listesinde, probların dial tcp 172.x.x.x:80: connect: connection refused mesajıyla başarısız olduğu gösterilir. Bu mesaj, konteyner bağlantı noktasına yapılan bağlantının reddedildiğini belirtir. Sonuç olarak, ECI container-1 konteynerini otomatik olarak yeniden başlatır.