- الرئيسية
- الشبكات متعددة السحابات
- Multi-cloud networking CE-HA demo
- نشر العرض التوضيحي
نشر العرض التوضيحي
المتطلبات المسبقة
Section titled “المتطلبات المسبقة”- Terraform بالحد الأدنى للإصدار المذكور في
terraform/versions.tf—>= 1.8، من أجل الدوال المُعرَّفة من الموفر وكتلةcheckالتي تحمي عنوان VIP. - موفر
xcsh. لا شيء يثبّت إصداراً بعينه: الملف.terraform.lock.hclمُستثنى من git والقيد مجرد حد أدنى مفتوح، لذا فإن كل عمليةinitتجلب أحدث إصدار منشور. هذا مقصود لمشروع في مرحلة ما قبل الإصدار — يجب أن يفشل العرض التوضيحي عند وجود انحدار في الموفر بدلاً من البقاء على إصدار قديم يخفيه. - بيانات اعتماد API لـ F5 XC للمستأجر المحدد في
var.expected_xc_tenant، مُصدَّرة باسمXCSH_API_TOKEN(أو زوج P12/PEM). صدِّر بيانات الاعتماد فقط، ولا تصدّر عنواناً أبداً — انظر أدناه. - بيانات اعتماد Azure بصلاحيات إنشاء مجموعة موارد وشبكة VNet وRoute Server وأجهزة افتراضية.
- مساحة أسماء موجودة مسبقاً في F5 XC لطبقة التطبيق. النشر يقرأها ولا يُنشئها أو يدمّرها أبداً، لذا لا يمكن أبداً أن تنتهي مساحة أسماء تحتوي على عروض توضيحية غير ذات صلة في قائمة الحذف الخاصة بهذه الحزمة.
قدّم القيمتين اللتين لا توجد لهما قيمة افتراضية
Section titled “قدّم القيمتين اللتين لا توجد لهما قيمة افتراضية”لكل متغير آخر قيمة افتراضية عملية، وكل اسم كائن مُشتق من
var.component. اثنان تُركا بقصد بلا قيمة افتراضية:
cd terraformcp terraform.tfvars.example terraform.tfvars| المتغير | سبب عدم وجود قيمة افتراضية |
|---|---|
origin_ip | أي قيمة افتراضية تعني جهازاً محدداً بعينه. قيمة قديمة ستُرسل حركة مرور نشر جديد إلى مضيف شخص آخر بدلاً من الفشل. |
lb_domain | يطابق موازن التحميل على Host، لذا هذا ما يجب أن يرسله كل طلب. وهو ملك لمن يشغّل النشر. |
كلتاهما تُتحقق صيغتهما، لذا يؤدي خطأ إملائي إلى فشل الخطة بدلاً من فشل العرض التوضيحي.
الملف terraform.tfvars مُستثنى من git، ويجب أن يبقى كذلك: فهو يحمل معرّف اشتراك
وقيماً خاصة بكل مهندس.
المستأجر إعداد، وليس ما تصدّره بيئة الطرفية لديك
Section titled “المستأجر إعداد، وليس ما تصدّره بيئة الطرفية لديك”يحدد var.expected_xc_tenant اسم المستأجر وهو المكان الوحيد الذي يُسمّى فيه.
يستنبط providers.tf قيمة api_url لموفر xcsh منه، وهو ما يتجاوز بقصد
أي XCSH_API_URL في البيئة، وتُفشل كتلة postcondition في
terraform/main.tf عملية التخطيط عندما تُحدد البيئة مستأجراً مختلفاً.
اقرأ أي من الشقين دون تشغيل أي شيء يغيّر الحالة:
terraform output -raw xc_tenant # what the deployment targetsterraform output -raw xc_env_tenant # what your shell claims — diagnostic onlyf5-sales-demof5-sales-demoالتطبيق
Section titled “التطبيق”-
التهيئة. إعداد الواجهة الخلفية غير مُضمَّن في المستودع؛ قدّم إعدادك الخاص.
Terminal window terraform init -backend-config=backend.hcl -
التطبيق الأول. يبني هذا Azure ومواقع CE ورمز التسجيل، ويُشغّل أجهزة CE.
Terminal window terraform apply -
طبّق مرة أخرى بعد أن تُسجّل أجهزة CE. هذا ليس اختيارياً، والسبب موضّح أدناه بدلاً من أن يكون شيئاً تكتشفه بنفسك.
Terminal window terraform apply
ثم انتقل إلى إثبات سلامته قبل عرضه على أي شخص.
موافقة التسجيل مُؤتمتة، ومع ذلك يبقى التطبيق على مرحلتين
Section titled “موافقة التسجيل مُؤتمتة، ومع ذلك يبقى التطبيق على مرحلتين”لم تعد موافقة التسجيل تحتاج إلى شخص في وحدة التحكم: يقوم بها المورد
xcsh_registration_approval، وتحدد وحدة الموقع أي تسجيل يجب الموافقة عليه.
لكن ذلك لا يجعل النشر عملية apply واحدة بلا تدخّل، والسبب يستحق
الفهم قبل أن تشاهد التشغيل الأول وتستنتج أنه فشل:
- يُسمّى كائن تسجيل CE
r-<uuid>. ولا يُسمّى أبداً باسم الموقع، لذا لا يمكن لأي شيء التنبؤ بالاسم في وقت التخطيط. - لا يوجد التسجيل إلا بعد أن يُشغّل الجهاز الافتراضي ويقوم
vpmبالتسجيل. - لذلك لا يخطط التطبيق الأول لأي موافقة على الإطلاق. أعد التطبيق بعد أن تُسجّل أجهزة CE فتُنشأ الموافقات.
يوثّق terraform/main.tf هذا الترتيب في أعلى الملف، وهو النسخة
المرجعية — فتسلسل النشر يعيش مع الشيفرة التي تنفّذه.
وصول SSH للمشغّل قرار يُتخذ وقت البناء
Section titled “وصول SSH للمشغّل قرار يُتخذ وقت البناء”يكتب النشر مفتاح مشغّل إلى حساب admin على الجهاز، والذي تكون واجهة تسجيل الدخول له
هي Site CLI. ويُكتب عبر write_files في cloud-init، الذي يُنفَّذ مرة واحدة عند أول تشغيل.
إزالة النشر
Section titled “إزالة النشر”terraform destroyتبقى مساحة أسماء التطبيق: فهي مقروءة وليست مُدارة أبداً، لذا لا يمكن لأمر destroy أن يأخذ معه
مساحة أسماء تحتوي على عروض توضيحية غير ذات صلة. أما كل شيء آخر في مجموعة الموارد فسيزول.