تزويد الموارد
يمكنك تزويد الموارد إما باستخدام Terraform أو Terragrunt. إذا كنت تستخدم Terraform، فيجب أن تطبق التكوينات في كل دليل، بتسلسل محدد. باستخدام Terragrunt، يمكنك تزويد كل الموارد باستخدام أمر واحد.
حول ملفات حالة Terraform
يقوم Terraform بتخزين معلومات الحالة لتتبع موارد البنية الأساسية المدارة، وتخطيط الموارد الموزعة إلى التكوين وتتبع الميتاديتا وتحسين الأداء لعمليات توزيع البنية الأساسية الكبيرة.
بشكل افتراضي، يتم تخزين ملف terraform.tfstate
على المضيف المحلي. ويعد هذا السلوك الافتراضي غير الأمثل في بيئات تكنولوجيا المعلومات حيث يلزم على عدة مستخدمين تكوين الموارد المعرفة في تكوين مكون بعينه. للتحكم في توزيع الموارد وإدارتها في بيئة متعددة المستخدمين، وتخزين ملفات الحالة Terraform في Oracle Cloud Infrastructure Object Storage ومشاركة ملفات الحالة وقفل الملفات بين جميع المستخدمين. يرجى الاطلاع على استخدام مخزن الكائنات لملفات حالة Terraform.
تزويد الموارد باستخدام Terragrunt
يمكنك استخدام Terragrunt لتزويد كل الموارد في المنظومة باستخدام أمر واحد. دوليًا، تقوم Terragrunt باستدعاء أوامر Terraform ومعالجة كل التبعيات بين المصادر المعرفة في التكوين.
تقديم الموارد باستخدام المنطقة
إذا اخترت تزويد الموارد باستخدام Terraform، فيجب تطبيق تكوين Terraform بشكل منفرد في كل دليل على حدة، في تسلسل مضغوط.
تعديل المنظومة
لتعديل المنظومة، يجب تحديث تعريفات الموارد في إعدادات Terraform المناسبة، ثم تطبيق التكوين الذي تمت مراجعته. يتطلب تعريف تعريفات الموارد التي يلزم تعديلها استيعابًا عشوائيًا لرمز المثال، خاصة الوحدات النمطية Terraform المشار إليها في كل دليل والتبعيات المؤقتة.
إزالة كل الموارد
يمكنك إزالة كل الموارد الموزعة بسهولة باستخدام Terraform أو Terragrunt.
- انتقل إلى دليل
examples/full-deployment
. - قم بعمل أي مما يلي:
- في حالة تثبيت Terragrunt، قم بتشغيل الأمر التالي:
terragrunt destroy-all
تقوم Terragrunt باستدعاء الأمر
terraform destroy
للموارد في التكوين، بتسلسل محدد.إذا حاولت استخدام
terragrunt destroy-all
لمسح توزيع فاشل أو جزئي، فقد يحدث الخطأ التالي:Error: Unsupported attribute on management_rte_attachment.tf line 8, in module "management_rte_attachement": 8: data.terraform_remote_state.peering_servers.outputs.routing_instance_1_ip_id, |---------------- | data.terraform_remote_state.peering_servers.outputs is object with 3 attributes This object does not have an attribute named "routing_instance_1_ip_id".
إذا حدث هذا الخطأ، فقم بإزالة الموارد من خلال تشغيل
terraform destroy
في كل دليل تكوين، كما هو موضح لاحقًا. - لإزالة الموارد من خلال استخدام عنصر CLI Terraform، قم بتشغيل
terraform destroy
في كل دليل تكوين ضمنexamples/full-deployment
، بالترتيب التالي.ملاحظة:
انتظر حتى ينتهي الأمر من التشغيل في كل دليل قبل المتابعة إلى الدليل التالي.tenant/servers management/server_attachment management/servers peering/routing management/access tenant/network management/network peering/network common/compartments common/configuration
- في حالة تثبيت Terragrunt، قم بتشغيل الأمر التالي: