تزويد وتكوين وإزالة الموارد

استخدم إجراء "المنطقة" في توزيع الموارد وتغييرها وإزالتها بكفاءة.

حول ملفات حالة Terraform

يقوم Terraform بتخزين معلومات الحالة لتتبع موارد البنية الأساسية المدارة، وتخطيط الموارد الموزعة إلى التكوين وتتبع الميتاديتا وتحسين الأداء لعمليات توزيع البنية الأساسية الكبيرة.

بشكل افتراضي، يتم تخزين ملف terraform.tfstate على المضيف المحلي. ويعد هذا السلوك الافتراضي غير الأمثل في بيئات تكنولوجيا المعلومات حيث يلزم على عدة مستخدمين تكوين الموارد المعرفة في تكوين مكون بعينه. للتحكم في توزيع الموارد وإدارتها في بيئة متعددة المستخدمين، وتخزين ملفات الحالة Terraform في Oracle Cloud Infrastructure Object Storage ومشاركة ملفات الحالة وقفل الملفات بين جميع المستخدمين.

يرجى الاطلاع على استخدام مخزن الكائنات لملفات حالة Terraform.

تكوين الموارد

بعد تعيين المتغيرات في ملف terraform.tfvars، استخدم Terraform CLI لتوزيع الموارد المعرفة في تكوين Terraform.

قبل البدء، تأكد من توفر إمكانية الوصول إلى الإنترنت في جهازك المحلي. إذا كان جهازك المحلي خلف جدار حماية، فاستخدم بروكسي مناسب للسماح لـ Terraform بالوصول إلى الإنترنت.
  1. في جهاز الكمبيوتر الذي قمت بتثبيت Terraform عليه، انتقل إلى الدليل الذي يحتوي على ملف terraform.tfvars.
  2. تهيئة Terraform، من خلال تشغيل الأمر التالي:
    terraform init
    يقوم الأمر بتنزيل البرنامج الإضافي لموفر oci وإعداد الدليل للاستخدام بواسطة Terraform.
  3. تحقق من عدم وجود أخطاء في صياغة التكوين:
    terraform validate
  4. في حالة وجود خطأ صياغة، قم بتصحيح الخطأ، وكرر الخطوة السابقة.
    لمعالجة أخطاء المشكلات، يمكن تكوين التسجيل:
    • قم بتعيين مستوى التسجيل باستخدام متغير البيئة TF_LOG. مستويات السجل المدعومة هي TRACE أو DEBUG أو INFO أو WARN أو ERROR. مستوى TRACE هو الأكثر تشفيرًا.
    • قم بتعيين مسار ملف السجل باستخدام متغير البيئة TF_LOG_PATH.
  5. قم بمراجعة الموارد المحددة في التكوين.
    terraform plan
    تعرض المخرجات تفاصيل جميع الإجراءات التي يتم تنفيذها عند تطبيق هذا التكوين، مع عرض ملخص كما هو موضح في المثال التالي.
    Plan: 8 to add, 0 to change, 0 to destroy.

    ملاحظة:

    الرقم 8 في الرسالة هو مثال. يعتمد الرقم الفعلي على الإعدادات التي حددتها في تكوين Terraform الخاص بك.
  6. إذا أردت إجراء أية تغييرات، قم بتحرير التركيب ومراجعته ومراجعة الخطة التي تمت مراجعتها.
  7. تكوين الموارد:
    terraform apply
  8. في الموجه Do you want to perform these actions?، أدخل نعم
    وكما يقوم Terraform بتكوين كل مورد، فإنه يعرض حالة العملية.

    عند تكوين كل الموارد، يتم عرض الرسالة Apply complete مع عدد الموارد التي تمت إضافتها وتغييرها وإتلافها، كما هو موضح في المثال التالي.

Apply complete! Resources: 33 added, 0 changed, 0 destroyed.

Outputs:

admin_private_ip = 10.0.1.10
bastion_public_ip = 203.0.113.101
kubeconfig = export KUBECONFIG=generated/kubeconfig
ocirtoken = <sensitive>
ssh_to_admin = ssh -i /home/joe/.ssh/id_rsa -J opc@203.0.113.101 opc@10.0.1.10
ssh_to_bastion = ssh -i /home/joe/.ssh/id_rsa opc@203.0.113.101
  • تعرض مخرجات kubeconfig الأمر الذي يمكنك استخدامه لتعيين متغير البيئة KUBECONFIG على المضيف المحلي. قم بتشغيل هذا الأمر إذا أردت استخدام kubectl CLI من المضيف المحلي لإدارة مجموعة Kubernetes. يقوم الأمر بتعيين KUBECONFIG إلى الملف generated/kubeconfig، والذي يقوم Terraform بتكوينه أثناء تطبيق التكوين.
  • تعرض مخرجات ssh_to_admin أمر ssh الذي يمكنك استخدامه للاتصال بمضيف المسئول.
  • تعرض مخرجات ssh_to_bastion أمر ssh الذي يمكنك استخدامه للاتصال بمضيف قاعدة البيانات.

ملاحظة:

يمكنك عرض مخرجات Terraform في أي وقت عن طريق تشغيل الأمر terraform output
منظومة Kubernetes الخاصة بك في Oracle Cloud جاهزة. يمكنك الآن توزيع التطبيقات المحتوية عليها في حاوية.

السماح بمضيف المسئول بإدارة الموارد

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

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

ملاحظة:

يقوم أي مستخدم يمكنه الاتصال بطبعة حساب باستخدام SSH باكتساب امتيازات طباعة الطبعة الممنوحة للطبعة. ضع في اعتبارك ذلك عند تحديد ما إذا كان سيتم تعيين مضيف المسئول كعملية رئيسية للطبعة. يمكنك إيقاف تشغيل هذه الميزة أو تشغيلها في أي وقت دون أي تأثير على مضيف المسئول.
  • لتعيين مضيف المسئول كعامل رئيسي للطبعة، قم بتعيين ما يلي في terraform.tfvars، ثم تشغيل terraform apply.

    admin_instance_principal = true

    يتكون مضيف المسئول من عضو في مجموعة ديناميكية، ويتم تكوين جملة نظام للسماح للمجموعة الديناميكية بإدارة كافة الموارد في المقارنة.

  • لسحب امتيازات سلسلة التعريف الرئيسية للطبعة من مضيف المسئول، قم بتعيين ما يلي في terraform.tfvars، ثم قم بتشغيل terraform apply.

    admin_instance_principal = false

تمكين الإشعارات أو تعطيلها لمضيف الأساسيات

يمكنك استخدام خدمة إشعار Oracle Cloud Infrastructure لاستلام رسائل الحالة من مضيف الأساسي عند تطبيق التحديثات أو عندما يكتشف Oracle Ksplice عن محاولة توسيع معروفة.

ملاحظة:

لا يقوم رمز Terraform في هذا الحل بتكوين الإشعارات إلا عند استخدام صورة Oracle Autonomous Linux الافتراضية.
  • لتمكين الإشعارات الخاصة بمضيف الأساسي، قم بتعيين المتغيرات التالية في terraform.tfvars:

    bastion_notification_enabled = true
    bastion_notification_endpoint = "email_address"
    bastion_notification_protocol = "EMAIL"
    bastion_notification_topic = "topic_name"

    فيما يلي مثال على terraform.tfvars مع تحديد المتغيرات المرتبطة بالتبليغ.

    bastion_notification_enabled = true
    bastion_notification_endpoint = "joe@example.com"
    bastion_notification_protocol = "EMAIL"
    bastion_notification_topic = "bastion"
  • إذا تم تكوين مضيف الأساس بالفعل وتريد تمكين الإشعارات الآن، فقم بتعيين هذه المتغيرات وتشغيل terraform apply.
    • ويتم تعريف الأنظمة المطلوبة للسماح لمضيف الأساس بنشر الإشعارات.
    • يتم تكوين موضوع إشعار، ويتم اشتراك عنوان البريد الإلكتروني الذي قمت بتحديده في الموضوع.
    • يتم تكوين مضيف الأساسي لإرسال الإشعارات.

    بعد تكوين الموارد، ستستلم بريد إلكتروني يطالبك بتأكيد الاشتراك.

  • لتعطيل الإشعارات، قم بتعيين ما يلي في terraform.tfvars، ثم قم بتشغيل terraform apply.

    bastion_notification_enabled = false
    admin_notification_enabled = false

إزالة كل الموارد

  1. في جهاز الكمبيوتر الذي قمت بتثبيت Terraform عليه، انتقل إلى الدليل الذي يحتوي على ملف terraform.tfvars.
  2. أدخل الأمر التالي:
    terraform destroy
    تعرض المنطقة بيانات الموارد التي سيتم تدميرها، كما هو موضح في هذا المثال:
    Plan: 0 to add, 0 to change, 12 to destroy.
  3. في الموجه Do you really want to destroy all resources?، أدخل نعم
    ونتيجة لإزالة Terraform كل مورد، فإنه يعرض حالة العملية.
    بعد إزالة جميع الموارد، يتم عرض الرسالة Destroy complete مع عدد الموارد التي تم إتلافها، كما هو موضح في المثال التالي:
    Destroy complete! Resources: 12 destroyed.