Deploy et ve izle
Bir deployment'ın ne olduğu — runtime materyalleştirmesi, 1:1 backend↔deployment ilişkisi, container düzeyinde sağlık ve kararlı forwarding URL'leri — için bkz. Deployments. Bu sayfanın tek amacı vardır: kontrol edilmiş bir backend al, onu gerçek işlem gücünde çalıştır, sonra sağlıklı tut. Döngü deploy → forward → izle → redeploy → undeploy şeklindedir ve aşağıdaki her adım bu döngüde bir hamledir.
Bir deployment nasıl ilerler
Bir deployment'ın küçük, öngörülebilir bir yaşam döngüsü vardır. deploy container'ları planlar ve deployment deploying'den running'e geçer; redeploy bu container'ları mevcut backend durumuyla değiştirir, forwarding URL'leri geçerli kalırken; undeploy onu söker. running dışındaki her şey trafiğe hazır değildir.
ppl backend deploy
│
▼
┌───────────┐ up ┌─────────┐ undeploy ┌──────────────┐
│ deploying │ ───────▶│ running │ ──────────▶│ tearing_down │
└─────┬─────┘ └────┬────┘ └──────────────┘
│ error │ redeploy
▼ │ (same forward URLs)
┌─────────┐ ▼
│ failed │ new containers
└─────────┘
Bu sayfanın geri kalanı döngüyü sırayla geçirir: bir runtime seç, başlat, endpoint'leri aç, container'ları izle, sonra redeploy veya söküm yap.
Bir runtime seçmek
Backend'in nerede çalışacağına karar vermek için bu adımı kullan.
Bir runtime, workspace'in deploy edebileceği bir işlem node'ları havuzudur. runtime kısıtlarını taşır: hangi node'ların ona ait olduğu, GPU'ları olup olmadığı, mevcut deployment'lardan sonra ne kadar pay kaldığı ve runtime onu geri almadan önce bir deployment'ın ne kadar yaşayabileceği. runtime'lar "bu hangi işlem gücünde çalışır"ı "bu neyi çalıştırır"dan ayrı tutar, böylece backend editing ve kapasite yönetimi ayrı kararlar olarak kalır.
Bir runtime seçmek tek seferlik bir listelemedir. Her runtime adını, node sayısını, mevcut deployment'larını ve bir deployment'ın üzerinde ne kadar yaşayabileceğini sınırlayan timeout'u bildirir. İş yükü için boş node'lara ve yeterli paya sahip birini seç.
ppl runtime list
Tek erişilebilir runtime doluysa ya da runtime sınıfı backend'in ihtiyaç duyduğuyla uyuşmuyorsa (örneğin bir GPU vertex'i için yalnızca CPU'lu bir runtime), deploy herhangi bir container başlamadan önce reddeder. Kontrol önceden yapılır, böylece bir deployment asla onu barındıramayan bir runtime'a planlanmaz.
Bkz. Runtime'lar ve node'lar.
Deployment'ı başlatmak
Kontrol edilmiş bir backend'i çalışan container'lara dönüştürmek için bu adımı kullan.
Deploy etmek, backend'in container'larını belirli bir ömür için bir runtime'a planlar. deploy çağrısı yalnızca backend'i ve runtime'ı adlandırır.
ppl backend deploy --backend <backend_id> --runtime <runtime_id>
deployment kaydı id, status ve expires_at döner. running dışındaki her şeyi trafiğe hazır değil say. Durum yaşam döngüsü ve 1:1 backend↔deployment kuralı (paralel ortamlar için backend'i forkla) için bkz. Deployments.
İki flag runtime zarfını şekillendirir:
--debugdaha zengin log yakalamayı etkinleştirir. Başlangıç daha yavaştır; varsayılan olarak değil, sorun avı için sakla.--fixed-duration 1h30mdeployment'ın ömrünü otomatik uzatmasına izin vermek yerine sabitler. İşin bilinen bir duvar saati bütçesi olduğunda faydalı, örneğin bir demo penceresi veya planlı bir batch.
--backend'i tekrarlamak tek bir çağrıda birden çok backend'i toplu deploy eder; bu modda --runtime zorunludur, çünkü platform bir batch için runtime seçmez.
Bkz. Deployments.
endpoint'leri açmak
Çağıranlara ya da application'ına bir URL vermek için deployment running olduktan sonra bu adımı kullan.
Forwarding, backend'deki her endpoint rolü için bir genel URL ve bir token verir. Forwarding token'ları redeploy'dan sağ çıkar — bağlamanın nasıl çalıştığı için bkz. Deployments.
ppl forward <backend_id>ppl forward <backend_id> --endpoint image-input --expiration 1h
--expiration bir token'ın ömrünü sınırlar; atlamak token'ın bağlama yaşadığı sürece yaşamasına izin verir.
URL her vertex container'ı running olmadan önce çağrılırsa çağrı 404 döner: onu sunan container henüz başlamamıştır. Gerçek trafiği deployment'a yönlendirmeden önce her şey running olana dek container'ları yokla.
Bkz. Solutions.
Çalışanı izlemek
Deployment yaşadığı sürece bu adımı sürekli kullan.
Bir deployment'ı izlemek, container durumunu okumaktır.
ppl deployment containers <deployment_id>
Her satır container id'sini, hangi node_id'ye düştüğünü, sunduğu vertex'i ve mevcut status'unu bildirir — starting, running, restarting, stopping veya failed'den biri. Başlangıçta sürekli çöken bir container restarting olarak görünür, ki bu genelde component düzeyinde bir sorundur — eksik bir model dosyası, başlatma sırasında bir istisna, yanlış yapılandırılmış bir serving-service bağımlılığı, component'in gerekli olarak ele aldığı bağlanmamış bir parametre. Container log'ları bir sonraki adımdır:
ppl deployment logs --container <container_id>ppl deployment logs --container <container_id> --tail 200ppl deployment logs --container <container_id> --since 10mppl deployment logs --container <container_id> --timestamps
--since / --until, RFC3339 zaman damgaları, Unix saniye veya Go duration dizeleri (30m, 2h) kabul eder. Her getirme tek seferlik yapılandırılmış bir batch'tir — container başına bir giriş, önce çökenler; yalnızca ölü olanları okumak için --failed-only ekle ya da tüm deployment'ı kapsamak için --container'ı atla.
Daha geniş hata desenleri için bkz. Sık karşılaşılan hatalar.
Redeploy etmek
Bir component sürümünü yükselttikten sonra ya da bir runtime yeniden başlatmasından kurtulmak için bu adımı kullan.
Redeploy, çalışan container'ları tek bir operasyonda mevcut backend durumuyla değiştirir, forwarding URL'lerini korur:
ppl backend redeploy --backend <backend_id>ppl backend redeploy --backend <backend_id> --runtime <runtime_id>
--backend veya --deployment'tan tam olarak birini geçir. --runtime eklemek deployment'ı aynı redeploy'da farklı bir runtime'a taşır. Forwarding URL'leri değişim boyunca değişmeden kalır, yalnızca yeni container'lar ayağa kalkarken isteklerin kuyruğa girebileceği veya 404 dönebileceği kısa bir pencereyle.
Tipik tetikleyici, daha önce ppl backend change-version ile yapılan bir vertex sürüm yükseltmesidir. graph mutasyonu önce iner; redeploy onu çalışan işlem gücüne uygular.
Sökmek
Deployment'ın işi bittiğinde bu adımı kullan.
Undeploy container'ları durdurur ve runtime payını serbest bırakır. backend tanımı el değmemiş kalır; yalnızca runtime örneği kaldırılır.
ppl backend undeploy --deployment <deployment_id>ppl backend undeploy --backend <backend_id>
--deployment veya --backend'ten tam olarak birini geçir. --save flag'i, her vertex'in generated_file_schema'sında bildirilen her dosyayı söküm öncesinde workspace dosya deposuna yükler. Deployment, saklamaya değer çıktılar — hesaplanmış artifact'ler, model checkpoint'leri, türetilmiş veri kümeleri — ürettiğinde kullan ve geçici çalışmalarda atla.
Bu nereye oturur
Üretim döngüsü küçüktür: deploy, forward, izle, redeploy, undeploy. graph'ın kendisindeki değişiklikler deployment'tan önce backend editing'e aittir. Tanım katmanı ile runtime katmanının neden ayrı olduğu için bkz. Deployments.
İlgili
- Backends — bunun deploy ettiği tanım katmanı.
- Deployments — runtime yaşam döngüsü ayrıntılı.
- Runtime'lar ve node'lar — işlem dokusu.
- Solutions — endpoint rolleri ve çağıranların onları nasıl tükettiği.
- Applications — ürün UI'ını deploy edilmiş endpoint'lere bağlama.
- Sık karşılaşılan hatalar — belirti → düzeltme araması.