تقنية

كيفية تنظيف المراجعات تلقائيًا في وظائف تشغيل السحابة و Firebase


تقدم Google Cloud العديد من الخدمات التي تتيح لك إنشاء تطبيقات وتشغيلها دون الحاجة إلى إدارة الخوادم. يمكنك تشغيل الحاويات على Google Cloud Run ، أو إنشاء نقاط نهاية API مع وظائف تشغيل السحابة (وظائف Google Cloud سابقًا) أو تشغيل محمولك ومواقع الويب مع وظائف Firebase.

مفهوم شائع لوظائف الخادم على Google Cloud هو مفهوم المراجعات. في كل مرة تقوم فيها بنشر التعليمات البرمجية الخاصة بك ، يتم إنشاء مراجعة جديدة وغير قابلة للتغيير على Google Cloud ولا يتم حذف المراجعة القديمة. هذا مفيد لأنه ، في وقت لاحق ، يمكنك التراجع بسهولة إلى إصدار أقدم من وظيفة إذا حدث خطأ ما.

لا تتعامل المراجعات القديمة غير النشطة مع أي حركة مرور ولا تتحمل أي تكاليف ، ولكن قد يكون من الجيد تنظيف هذه المراجعات غير النشطة من مشروع Google Cloud الخاص بك بانتظام. سيضمن التنظيف المنتظم أيضًا أن تنقيحاتك القديمة مع الأخطاء أو الكود المنهك لا يتم إعادة نشرها عن طريق الخطأ.

إزالة المراجعات غير النشطة من Google Cloud Run

في أحد مشاريع Google Cloud الخاصة بي ، هناك حوالي 250 مراجعة غير نشطة لوظيفة تشغيل سحابة واحدة. اضرب ذلك مع العديد من هذه الخدمات ويمكنك أن ترى كيف يمكن أن تضيف ما يصل إلى الكثير من المراجعات غير النشطة.

من السهل إزالة مراجعة غير نشطة يدويًا. داخل وحدة التحكم السحابية Google ، انتقل إلى Cloud Run Functions وحدد خدمتك. اذهب إلى Revisions علامة التبويب وسترى جميع مراجعات تلك الخدمة. انقر فوق القائمة 3-DOT مقابل أي مراجعة وحدد Delete لحذف هذه المراجعة بشكل دائم.

حذف مراجعات تشغيل السحابة تلقائيًا

على الرغم من أنني أستطيع حذف المراجعات غير النشطة من وحدة التحكم السحابة في Google ، إلا أن الأمر سيستغرق الكثير من الوقت والجهد لحذف جميع المراجعات غير النشطة.

ما لدينا هنا هو نص باش بسيط يحذف جميع المراجعات غير النشطة لخدمة تشغيل السحابة. يستخدم البرنامج النصي gcloud أداة سطر الأوامر لسرد جميع مراجعات خدمة السحابة غير النشطة.

ثم يتكرر من خلال قائمة المراجعات غير النشطة وحذفها واحدًا تلو الآخر باستخدام gcloud run revisions delete يأمر. يتم حذف المراجعات بالترتيب الزمني ، بدءًا من أقدم مراجعة.

للبدء ، قم بعمل نسخة من البرنامج النصي وحفظه cleanup-cloud-run-revisions.sh. بعد ذلك ، استبدل GOOGLE_PROJECT_IDو GCP_REGION و CLOUD_RUN_SERVICES المتغيرات مع القيم الخاصة بك. نحن نستخدم صفيفًا لتخزين أسماء خدمات Cloud Run التي يمكنها التعامل مع خدمات متعددة في تشغيل واحد.

#!/bin/bash

## Google Cloud Project ID
GOOGLE_PROJECT_ID=PUT_YOUR_PROJECT_ID_HERE

## GCP Region
GCP_REGION=us-east1

## Array of Cloud Run services to clean up
CLOUD_RUN_SERVICES=(
  "service_name_1"
  "service_name_2"
)

for SERVICE in "${CLOUD_RUN_SERVICES[@]}"; do
  echo "Processing service: $SERVICE"

  # Get list of inactive revisions
  REVISIONS=$(gcloud run revisions list \
    --service="$SERVICE" \
    --project="$GOOGLE_PROJECT_ID" \
    --region="$GCP_REGION" \
    --format='value(metadata.name)' \
    --sort-by='metadata.creationTimestamp' \
    --filter="status.conditions.type:Active AND status.conditions.status:'False'")

  if [ -z "$REVISIONS" ]; then
    echo "No inactive revisions found for $SERVICE"
    continue
  fi

  REVISION_COUNT=$(echo "$REVISIONS" | wc -l)
  echo "Found $REVISION_COUNT inactive revisions"

  read -p "Confirm cleanup for $SERVICE? (y/n) " -n 1 -r
  echo

  if [[ $REPLY =~ ^[Yy]$ ]]; then
    echo "$REVISIONS" | while read -r REVISION; do
      echo "Deleting revision: $REVISION"
      gcloud run revisions delete "$REVISION" \
        --quiet \
        --project="$GOOGLE_PROJECT_ID" \
        --region="$GCP_REGION"
    done

    echo "Completed cleanup for $SERVICE"
  else
    echo "Cleanup cancelled for $SERVICE"
  fi
done

حذف صور الحاويات تلقائيًا في سجل القطع الأثرية

يرجى ملاحظة أن هذا البرنامج النصي shell لن يحذف سوى مراجعات تشغيل السحابة. لن يتم حذف صور الحاوية الأساسية في سجل القطع الأثرية وستستمر في استهلاك مساحة التخزين وبالتالي تكبد تكلفة متكررة.

يمكنك إنشاء سياسة تنظيف لحذف صور الحاويات تلقائيًا في سجل القطع الأثرية بناءً على جدول أو حالة. على سبيل المثال ، يمكن لسياسة التنظيف الخاصة بك حذف صور الحاويات التي تزيد عن 30 يومًا أو سياسة تحتفظ فقط بأحدث صور الحاويات.

سياسة تنظيف السحابة



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى