دورة حياة البيئة: المدة (TTL) مع النوم والإيقاظ
| حقل السياسة | المعنى | القيمة الافتراضية |
|---|---|---|
defaultTTL |
المدة (TTL) للبيئات التي لا تحدد مدة بنفسها | لا شيء (لا تنتهي أبدًا) |
maxTTL |
الحد الأعلى لـ spec.ttl. تجاوزه يُبلَّغ عنه ولا يُرفض |
لا شيء |
expiredGracePeriod |
المدة التي تبقى فيها البيئة المنتهية مقلّصة إلى الصفر قبل حذفها | 24h |
sleepAfterIdle |
مدة الخمول قبل أن تُقلَّص النسخ إلى الصفر | لا شيء (لا تنام أبدًا) |
يمكن لكائن Environment أن يحدد spec.ttl وspec.sleepAfterIdle بنفسه.
المراحل
- جاهزة (Ready): النسخ تعمل ومتاحة.
- نائمة (Sleeping): لم تصل أي حركة مرور طوال مدة
sleepAfterIdle. النسخ عند صفر نسخة (replicas). يوقظها الطلب التالي الذي يمر عبر الموجّه ويبقى هذا الطلب معلّقًا حتى تجهز النسخ (حتى 90 ثانية). ويرى المتصفح صفحة "قيد الإيقاظ" تحدّث نفسها إذا استغرق الأمر وقتًا أطول. - منتهية (Expired): انقضى موعد
status.expiresAt. النسخ عند الصفر. ويجيب رابط المعاينة بالرمز 410. ارفعspec.ttlخلال فترة السماح لاستعادتها. وعندstatus.deleteAtتُحذف.
حقول الحالة: expiresAt وdeleteAt وlastActivity وsleptAt وwakeRequestedAt.
ويبيّن الشرط (Condition) TTL هل طُبّقت المدة المطلوبة كما هي أم خُفّضت إلى الحد الأعلى.
الأحداث
كل انتقال بين المراحل هو حدث Kubernetes (Event) على كائن Environment. ويمكن رؤيته بالأمر
kubectl get events --field-selector involvedObject.kind=Environment ويُدرج في سجل
التدقيق. والأحداث هي:
ExpiredExpiryExtendedTTLCappedExpiredDeletedSleepingWokenWakeTimeout