api_fingerprint (مطلوب)
|
بصمة مفتاح توقيع API الذي قمت بتحميله. |
api_private_key_path (مطلوب)
|
المسار الكامل واسم الملف الذي يحتوي على مفتاح توقيع API الخاص بك. |
compartment_id (مطلوب)
|
معرف Ocd للمقارنة التي تريد تكوين الموارد بها. |
tenancy_id (مطلوب)
|
Ocd للأرض المستأجرة الخاصة بك. |
user_id (مطلوب)
|
OCID الخاص بالمستخدم الذي تريد استخدام Terraform للتصديق في Oracle Cloud Infrastructure. |
ssh_private_key_path |
المسار الكامل واسم الملف الذي يحتوي على مفتاح SSH الخاص المطابق للمفتاح العام الذي تريد توفيره لمضيف البنية الأساسية.
تستخدم هذه القيمة لإنشاء الأمر ssh الذي يمكنك استخدامه للوصول إلى مضيف الأساس. يتم عرض الأمر ssh في المخرجات عند تطبيق تكوين Terraform. لاحظ أن Terraform لا يقرأ أو ينسخ المفتاح الخاص.
|
ssh_public_key_path |
المسار الكامل واسم الملف الذي يحتوي على مفتاح SSH العام الذي تريد توفيره لمضيف البنية الأساسية. |
label_prefix |
المعرف المختصر الذي تريد استخدامه كبادئة في أسماء الموارد.
استخدم سلسلة تساعدك على تحديد الغرض أو طبيعة الموارد من خلال البحث عن اسمها. على سبيل المثال، إذا كنت ترغب في استخدام تكوين Terraform لإعداد بيئة اختبار أو تجهيز، فافكر في استخدام البادئة test أو staging.
|
region |
معرف المنطقة التي تريد تكوين الموارد فيها. على سبيل المثال، معرف المنطقة الشرقية للولايات المتحدة (Ashburn) هو us-ashburn-1.
|
nat_gateway_enabled |
حدد true لتكوين جيت واي nam لـ VCN.
تكون جيت واي NAT مطلوبة إذا كان أحد طبعات الحساب الخاص (مثل مضيف المسئول أو نقاط توصيل عامل Kubernetes) بحاجة إلى الوصول إلى مضيفين على الإنترنت العام.
|
newbits وnetnum |
عند تطبيق التكوين، يقوم Terraform بتمرير قيم newbits وnetnum كوسائط إلى دالة Terraform cidrsubnet(). تقوم هذه الدالة بحساب بادئات CIDR للتخطيطات الفرعية لمضيف الأساس ومضيف الإدارة ونقاط توصيل رصيد التحميل ونقاط توصيل عامل Kubernetes.
newbits تستخدم لتحديد حجم الشبكة الفرعية. يمثل الفرق بين قناع شبكة الاتصال VCN وقناع الشبكة netmask الذي تحتاجه للشبكة الفرعية للبناء.
على سبيل المثال ، لتكوين شبكة فرعية وقناع الصافي /29 في/16 VCN ، حدد 13 كقيمة 10 بت (أي 29 ناقص 16 ).
ينتج عن قيمة newbits الأقل صافي فرعي بمسافة عنوان أكبر.
netnum تستخدم لتحديد حدود الشبكة الفرعية. إنه الفهرس المستند إلى الصفر للشبكة الفرعية عند إخفاء الشبكة بـ newbits.
مع المثال السابق، إذا قمت بتحديد newbits=13 وnetnum=0، فإن الدالة cidrsubnet() تُرجع بادئة subnet CIDR هي مساحة العنوان 10.0.0.0/29، وهي مساحة العنوان /29 الأولى في 10.0.0.0/16.
القيم الافتراضية: netnum = {
admin = 33
bastion = 32
int_lb = 16
pub_lb = 17
workers = 1
}
newbits = {
admin = 13
bastion = 13
lb = 11
workers = 2
}
إذا تركت هذه المتغيرات في القيم الافتراضية وقمت بتحديد 10.0.0.0/16 على أنه نطاق CIDR لـ VCN، فإن دالة Terraform cidrsubnet() تحسب بادئات CIDR التالية للتصفية الفرعية. تظهر العناوين المتاحة بين أقواس. لاحظ أن أول عنوانين وآخر عنوان في شبكة فرعية تم حجزه بواسطة خدمة الشبكات.
- شبكة الأساس الفرعية:
10.0.1.0/29 (العناوين المتاحة: 10.0.1.2 إلى 10.0.1.6، أي 5 مضيفات)
- الشبكة الفرعية للإدارة:
10.0.1.8/29 (10.0.1.10 إلى 10.0.1.14؛ 5 مضيف)
- الشبكة الفرعية لموازن التحميل الداخلي:
10.0.2.0/27 (10.0.2.2 إلى 10.0.2.30; 29 نقطة توصيل)
- الشبكة الفرعية لموازن التحميل العام:
10.0.2.32/27 (10.0.2.34 إلى 10.0.2.62; 29 نقطة توصيل)
- الشبكة الفرعية لنقاط توصيل Kubernetes Worker:
10.0.64.0/18 (10.0.64.2 to 10.0.127.254; 16381 nodes)
إذا كنت بحاجة إلى عناوين أو أحجام فرعية مختلفة عن الإعدادات الافتراضية، فيجب تحديد القيم المناسبة لـ newbits وnetnum. وللقيام بذلك، يجب أن يكون لديك معرفة أساسية حول عناوين IP دون فئات. يرجى الاطلاع على وثائق Terraform الخاصة بدالة cidrsubnet().
تأكد من أن كتل CIDR التي قمت بتحديدها هنا لا تتداخل مع قطعة CIDR التي تحددها من أجل Kubernetes pods (pods_cidr).
|
service_gateway_enabled |
حدد true لتكوين جيت واي خدمة لـ VCN.
يلزم توفير جيت واي خدمة إذا كانت طبعات الحساب في VCN تحتاج للوصول إلى خدمات Oracle أخرى مثل Oracle Cloud Infrastructure Object Storage.
|
vcn_cidr |
كتلة IPv4 CIDR من اختيارك لـ VCN.
القيمة الافتراضية هي 10.0.0.0/16. النطاق المسموح به هو /16 إلى /30
تأكد من أن كتلة CIDR التي تحددها هنا لا تتداخل مع كتلة CIDR التي تحددها لخدمات Kubernetes (services_cidr).
|
vcn_dns_label |
بادئة الاسم لاسم DNS الداخلي الخاص بـ VCN.
يكون الاسم الذي تقوم بتحديده هنا مسبوقًا بـ oraclevcn.com لتكوين اسم نطاق DNS الخاص بـ VCN. على سبيل المثال، إذا قمت بتحديد oke كبادئة، فسيكون اسم نطاق DNS الخاص بـ VCN هو oke.oraclevcn.com
|
vcn_name |
اسم مورد Vvcn. |
bastion_access |
نطاق عناوين IP (في مجموعة رموز CIDR) التي يجب أن يتم من خلالها السماح بوصول SSH إلى الأساس.
للسماح بوصول SSH من أي مضيف (أي 0.0.0.0/0)، اترك المتغير على قيمته الافتراضية، ANYWHERE.
|
bastion_enabled |
حدد true لتكوين مضيف قاعدة بيانات.
|
bastion_image_id |
معرف Ocd للصورة المطلوب استخدامها لتكوين مضيف قاعدة البيانات.
إذا تركت هذا المتغير في القيمة الافتراضية، NONE، فسيتم استخدام صورة Oracle Autonomous Linux.
|
bastion_notification_enabled |
يمكنك استخدام خدمة إشعار Oracle Cloud Infrastructure لاستلام رسائل الحالة من مضيف الأساسي عند تطبيق التحديثات أو عند اكتشاف محاولة توسيع معروفة بواسطة Oracle Ksplice.
حدد true لتمكين إرسال إشعارات إلى مضيف قاعدة البيانات.
ملاحظة: يقوم رمز Terraform في هذا الحل بتكوين إشعارات لمضيف الأساسي فقط عند استخدام صورة Oracle Autonomous Linux الافتراضية.
|
bastion_notification_endpoint |
عنوان البريد الإلكتروني الذي يجب إرسال التبليغات إليه. وهذا المتغير ضروري إذا قمت بتعيين bastion_notification_enabled إلى true.
|
bastion_notification_protocol |
قم بتعيين هذا المتغير إلى EMAIL.
|
bastion_notification_topic |
اسم موضوع التبليغ المطلوب تكوينه. وهذا المتغير ضروري إذا قمت بتعيين bastion_notification_enabled إلى true.
|
bastion_package_upgrade |
حدد true إذا كنت تريد ترقية حزم التأمين الخاصة بمضيف الأساسي للمرة الأولى التي تتم فيها ترقية رموز المضيف.
لاحظ أنه عند تعيين هذا المتغير إلى true، وبعد تزويد مضيف الأساسي، فلن يكون متاحًا لفترة قصيرة أثناء ترقية حزم التأمين. لكن مع تمكين هذه الترقية يؤدي إلى تقليل إمكانات مضيف الإعداد.
|
bastion_shape |
شكل الحساب الذي تريد استخدامه لمضيف قاعدة البيانات. |
bastion_timezone |
المنطقة الزمنية اللازمة لتكوين مضيف قاعدة البيانات، بصيغة المنطقة الزمنية IANA (على سبيل المثال، America/Los_Angeles).
|
admin_enabled |
حدد true لتكوين مضيف مسئول.
|
admin_image_id |
معرف Ocd للصورة المطلوب استخدامها لتكوين مضيف قاعدة البيانات.
وفي حالة ترك هذا المتغير بالقيمة الافتراضية، NONE، يتم استخدام صورة نظام Linux مدمجة بواسطة Oracle.
|
admin_instance_principal |
حدد true إذا أردت تمكين مضيف المسئول من إدارة كل الموارد في المقارنة التي تحددها.
استخدم هذه السمة إذا كنت تنوي تشغيل أوامر CLI أو إجراء استدعاءات API من مضيف المسئول لإدارة الموارد في المنظومة.
ملاحظة: يقوم أي مستخدم يمكنه الاتصال بطبعة حساب باستخدام SSH باكتساب امتيازات طباعة الطبعة الممنوحة للطبعة. ضع في اعتبارك ذلك عند تحديد ما إذا كان سيتم تعيين مضيف المسئول كعملية رئيسية للطبعة. يمكنك إيقاف تشغيل هذه الميزة أو تشغيلها في أي وقت دون أي تأثير على مضيف المسئول.
في حالة تعيين هذا المتغير إلى true، فسيكون مضيف المسئول عضوًا في مجموعة ديناميكية ويتم تكوين جملة نظام للسماح للمجموعة الديناميكية بإدارة كل الموارد في الأقسام.
|
|
admin_notification_enabled
admin_notification_endpoint
admin_notification_protocol
admin_notification_topic
|
اترك هذه المتغيرات في القيم الافتراضية. تمكين الإشعارات لمضيف المسئول غير مدعوم حاليًا في رمز Terraform. |
admin_package_upgrade |
حدد true إذا كنت تريد ترقية حزم التأمين الخاصة بمضيف المسئول للمرة الأولى التي تتم فيها ترقية رموز المضيف.
لاحظ أنه عند تعيين هذا المتغير إلى true، وبعد توفير مضيف المسئول، فلن يكون متاحًا لفترة قصيرة أثناء ترقية حزم التأمين. لكن مع تمكين هذه الترقية يؤدي إلى تقليل قدرات المسعفة لمضيف المسئول.
|
admin_shape |
شكل الحساب الذي تريد استخدامه لمضيف المسئول. |
admin_timezone |
المنطقة الزمنية اللازمة لتكوين مضيف المسئول، بصيغة المنطقة الزمنية IANA (على سبيل المثال، America/Los_Angeles).
|
availability_domains |
نطاق الإتاحة الذي تريد إعداد مضيفي الإدارة والأساس به.
على سبيل المثال، لتزويد مضيف قاعدة البيانات في نطاق التوفر الثاني، قم بتعيين bastion = 2.
إذا كانت المنطقة التي حددتها تحتوي على نطاق إتاحة واحد فقط، فيجب ترك هذا المتغير بالقيمة الافتراضية، 1.
|
tagging |
حدد العلامات التي تريد تعيينها للموارد الحسابية والشبكات. |
allow_node_port_access |
حدد true إذا أردت السماح لحركة مرور TCP لنقاط توصيل عامل Kubernetes عند نشرها في الوضع العام.
|
allow_worker_ssh_access |
حدد true إذا كنت تريد السماح باتصالات SSH بنقاط توصيل عامل Kubernetes من خلال مضيف قاعدة البيانات.
لاحظ أنه حتى في حالة نشر نقاط توصيل العامل في الوضع العام، يجب أن يتم إرسال اتصالات SSH من خلال مضيف قاعدة البيانات.
إذا قمت بتعيين هذا المتغير إلى true، فيجب عليك أيضًا تعيين bastion_enabled = true.
|
cluster_name |
اسم مجموعة Kubernetes. |
dashboard_enabled |
حدد true إذا أردت تكوين لوحة تحكم Kubernetes الافتراضية.
|
kubernetes_version |
إصدار Kubernetes المطلوب استخدامه لنقاط توصيل العامل.
في حالة ترك هذا المتغير بالقيمة الافتراضية، LATEST، يتم تحديد أحدث إصدار مدعوم. لاستخدام إصدار معين، حدد ذلك الإصدار.
|
node_pools |
عدد مجمعات نقاط التوصيل المطلوب تكوينها وحجم كل مجمع وشكل الحساب المطلوب استخدامه لنقاط توصيل العامل بالصيغة التالية:node_pools = {
"np1" = ["computeShape", numberOfNodes]
"np2" = ["computeShape", numberOfNodes]
"np3" = ["computeShape", numberOfNodes]
...
}
np1 وnp2 وnp3 هما أسماء إجبارية تمثل مجمعات نقاط التوصيل الفردية.
computeShape هو شكل الحساب المطلوب استخدامه لنقاط توصيل العامل في المجمع.
numberOfNodes هو عدد نقاط توصيل عامل Kubernetes المطلوب تكوينها في المجمع. يتم تكوين ثلاث نقاط توصيل كحد أدنى في كل مجمع، حتى في حالة تحديد قيمة أدنى.
فيما يلي المثال لمجموعة تتألف من المجموعتين، كل منها باستخدام شكل حساب مختلف ويشتمل على عدد مختلف من نقاط توصيل Kubernetes للعامل: node_pools = {
"np1" = ["VM.Standard2.1", 3]
"np2" = ["VM.Standard2.2", 5]
}
|
node_pool_name_prefix |
بادئة الاسم لمجمعات نقاط التوصيل.
ويتم إنشاء أسماء مجمعات نقاط التوصيل عن طريق ربط قيم label_prefix وnode_pool_name_prefix ورقم مجمع نقاط التوصيل. على سبيل المثال، إذا قمت بتحديد label_prefix = "prod" وnode_pool_name_prefix = "np"، فستكون الأسماء المنشأة لمجمعات نقاط التوصيل هي prod-np-1 وprod-np-2 وprod-np-3، وما إلى ذلك.
|
node_pool_image_id |
Ocd للصورة المطلوب استخدامها لنقاط توصيل عامل Kubernetes.
إذا تركت هذا المتغير بالقيمة الافتراضية، NONE، عندئذ يتم استخدام صورة تطابق القيم التي تحددها من أجل node_pool_os وnode_pool_os_version.
|
node_pool_os |
نظام التشغيل الذي يجب استخدامه لنقاط توصيل عامل Kubernetes (على سبيل المثال، "Oracle Linux").
يتم اعتبار هذا الإعداد في حالة تعيين node_pool_image_id = "NONE"
|
node_pool_os_version |
إصدار نظام التشغيل الذي يجب استخدامه لنقاط توصيل عامل Kubernetes (على سبيل المثال، "7.7").
يتم اعتبار هذا الإعداد في حالة تعيين node_pool_image_id = "NONE"
|
pods_cidr |
كتلة IPv4 CIDR من اختيارك لأجل Kubernetes pod.
تأكد من أن كتلة CIDR التي تحددها هنا لا تتداخل مع كتلة CIDR التي تحددها لـ VCN (vcn_cidr).
|
services_cidr |
كتلة IPv4 CIDR من اختيارك لأجل Kubernetes pod.
تأكد من أن كتلة CIDR التي تحددها هنا لا تتداخل مع كتلة CIDR التي تحددها لـ VCN (vcn_cidr).
|
worker_mode |
حدد public إذا كان يجب الوصول إلى نقاط توصيل العامل من الإنترنت العام. وإلا، قم بتعيين هذا المتغير إلى private.
إذا قمت بتعيين worker_mode = "private"، فقم بتعيين nat_gateway_enabled = true
|
lb_subnet_type وpreferred_lb_subnets |
تحدد القيم التي تحددها لـ lb_subnet_type وpreferred_lb_subnets نوع صافي القيم الفرعية التي يجب استخدامها لأية نقاط توصيل رصيد تحميل يتم توزيعها باستخدام خدمة Kubernetes من نوع LoadBalancer.
تحتوي توازن التحميل العام على عناوين IP عامة يكون لموازن التحميل الداخلي عناوين IP خاصة فقط ولا يمكن الوصول إليها من الإنترنت العام
- إذا كنت تنوي استخدام رصيد تحميل عمومي، فقم بتعيين
preferred_lb_subnet = "public" وsubnet_type إلى "both" أو "public"
- إذا كنت تنوي استخدام رصيد تحميل داخلي، فقم بتعيين
preferred_lb_subnet = "internal" وsubnet_type إلى "both" أو "internal"
حتى في حالة تعيين صافي رصيد التحميل الفرعي على أنه داخلي، يجب تعيين التعليقات التوضيحية المناسبة (مثل service.beta.kubernetes.io/oci-load-balancer-internal: "true") عند تكوين خدمات رصيد تحميل داخلية. لا يكفي إعداد المقاييس الفرعية على القيمة خاص
للحصول على معلومات حول تكوين رصيد تحميل داخلي، راجع وثائق Oracle Cloud Infrastructure.
|
secret_id |
معرف كلمة السر في خدمة Oracle Cloud Infrastructure Vault، حيث يتم تخزين مقطع التصديق المطلوب استخدامه لسحب صور التطبيق من Oracle Cloud Infrastructure Registry.
يجب إعداد ما يلي أيضًا: bastion_enabled = true
admin_enabled = true
admin_instance_principal = true
|
email_address |
عنوان البريد الإلكتروني المراد استخدامه عند إنشاء البيانات السرية لـ Docker. يجب إدخال عنوان بريد إلكتروني، ولكن لا يهم ما تحدده.
يكون هذا المتغير مطلوبًا إذا قمت بتحديد secret_id.
|
tenancy_name |
مساحة اسم Oracle Cloud Infrastructure Object Storage الخاصة بالأرض المستأجرة التي تحتوي على السجل الذي يجب سحب الصور منه للتوزيع إلى مجموعة Kubernetes.
يكون هذا المتغير مطلوبًا إذا قمت بتحديد secret_id.
|
اسم المستخدم |
اسم المستخدم الذي قمت بإنشاء مقطع التصديق المخزن له في secret_id.
يكون هذا المتغير مطلوبًا إذا قمت بتحديد secret_id.
|
install_helm |
حدد true إذا أردت تثبيت Helm.
هلي مدير حزمة لـ Kubernetes.
لتثبيت هلي، يجب تعيين admin_instance_principal = true أيضًا.
|
helm_version |
إصدار عميل Helm المراد تثبيته.
تمت ترقية Tiller (الجزء المقابل على الخادم من Helm) تلقائيًا.
|
install_calico |
حدد true إذا أردت تثبيت Calico.
يمكن استخدام Calico لتنفيذ سياسات الشبكة الخاصة بحمولات عمل الحاويات الموزعة على مجموعات Kubernetes.
في حالة تعيين install_calico = true، يجب عليك أيضًا تعيين ما يلي: bastion_enabled = true
admin_enabled = true
admin_instance_principal = true
|
calico_version |
إصدار Calico المراد تثبيته. |
install_metricserver |
حدد true إذا أردت تثبيت Kubernetes Metrics Server.
بشكل افتراضي، يتم تثبيت أحدث إصدار في مساحة الاسم kube-system. يقوم Kubernetes Metrics Server بتجميع بيانات استخدام المورد عبر مجموعة.
في حالة تعيين install_metricserver = true، يجب عليك أيضًا تعيين ما يلي: bastion_enabled = true
admin_enabled = true
admin_instance_principal = true
|
use_encryption |
إذا أردت استخدام خدمة Oracle Cloud Infrastructure Vault لتشفير Kubernetes secrets، فقم بتعيين هذا المتغير إلى true.
في حالة تعيين use_encryption = true، يجب عليك أيضًا تعيين ما يلي: bastion_enabled = true
admin_enabled = true
admin_instance_principal = true
|
existing_key_id |
تم تكوين OCID لمفتاح موجود في خدمة Oracle Cloud Infrastructure Vault.
وهذا المتغير ضروري إذا قمت بتعيين use_encryption إلى true.
|
create_service_account |
إذا كنت تريد إجراء عمليات وأدوات خارجية (مثل توجيه CI/CD) للوصول إلى المجموعة، فقم بتعيين هذا المتغير إلى true. يتم تكوين حساب خدمة بمقطع التصديق الخاص به.
في حالة تعيين create_service_account = true، يجب عليك أيضًا تعيين ما يلي: bastion_enabled = true
admin_enabled = true
admin_instance_principal = true
|
service_account_name |
اسم حساب الخدمة المطلوب تكوينه. |
service_account_namespace |
مساحة اسم Kubernetes التي يجب تكوين الحساب بها. |
service_account_cluster_role_binding |
اسم ربط دور المجموعة لحساب الخدمة. |