10.2.3. الدول الملح وميزات أخرى
في حين أن التنفيذ عن بعد هو لبنة بناء مهمة ، إلا أنه يمثل جزءًا صغيرًا مما يمكن لـ SaltStack القيام به.
عند إعداد جهاز جديد ، غالبًا ما تقوم بتشغيل العديد من الأوامر والاختبارات لتحديد تفاصيل النظام قبل التثبيت. يمكن إضفاء الطابع الرسمي على هذه العمليات في قوالب تكوين قابلة لإعادة الاستخدام تسمى ملفات الحالة. يمكن بعد ذلك إجراء العمليات الموصوفة في ملفات الحالة بملف واحد الدولة أمر الملح.
لتوفير بعض الوقت ، يمكنك الاعتماد على العديد من ملفات الحالة الجاهزة للاستخدام التي تم إنشاؤها بواسطة المجتمع والتي يتم توزيعها في "صيغ الملح":
➨ https://docs.saltstack.com/en/latest/topics/development/conventions/formulas. html
هناك العديد من الميزات الأخرى التي يمكن دمجها:
• التنفيذ المقرر للإجراءات
• تحديد الإجراءات استجابة للأحداث التي أثارها التوابع
• جمع البيانات من التوابع
• تنسيق سلسلة من العمليات عبر التوابع المتعددة
• تطبيق حالات عبر SSH بدون تثبيت خدمة التوابع الملحية
• توفير أنظمة على البنى التحتية السحابية وإخضاعها للإدارة
• و اكثر
إن SaltStack واسع جدًا ولا يمكننا تغطية جميع الميزات هنا. في الواقع ، هناك كتب مخصصة بالكامل لـ SaltStack والتوثيق عبر الإنترنت واسع جدًا أيضًا. تحقق من ذلك إذا كنت تريد معرفة المزيد حول ميزاته:
➨ https://docs.saltstack.com/en/latest/
إذا كنت تدير عددًا كبيرًا من الأجهزة ، فمن المستحسن معرفة المزيد حول SaltStack حيث يمكنك توفير قدر كبير من الوقت عند نشر أجهزة جديدة وستكون قادرًا على الحفاظ على تكوين متماسك عبر شبكتك.
لإعطائك لمحة عما يبدو عليه العمل مع ملفات الحالة ، سنغطي مثالًا بسيطًا: كيفية تمكين مستودع APT وتثبيت حزمة تقوم بإنشائها في القسم 10.3.3 ، "إنشاء مستودع حزم لـ APT" [صفحة 269] والقسم 10.3.2 ، "إنشاء حزم التكوين[الصفحة 263]. ستقوم أيضًا بتسجيل مفتاح SSH في حساب الجذر بحيث يمكنك تسجيل الدخول عن بُعد في حالة حدوث مشكلات.
بشكل افتراضي ، يتم تخزين ملفات الحالة في / srv / ملح على السيد هم ملفات YAML المهيكلة بامتداد .sls تمديد. تمامًا مثل تشغيل الأوامر ، يعتمد تطبيق حالة على العديد من وحدات الحالة:
➨ https://docs.saltstack.com/en/latest/topics/tutorials/starting_states.html
➨ https://docs.saltstack.com/en/latest/ref/states/all/
حل متجر العقارات الشامل الخاص بك في جورجيا /srv/salt/offsec.sls سيستدعي الملف ثلاثة من هذه الوحدات:
offsec_repository: pkgrepo.managed:
- الاسم: deb http://pkgrepo.offsec.com offsec-internal main
- ملف: /etc/apt/sources.list.d/offsec.list
- key_url: ملح: //offsec-apt-key.asc
- تتطلب:
- pkg: التخلف عن السداد offsec
الافتراضات offsec: pkg.installed
ssh_key_for_root: ssh_auth.present:
- المستخدم: الجذر
- الاسم: ssh-rsa AAAAB3NzaC1yc2 ... 89C4N rhertzog @ kali
offsec_repository: pkgrepo.managed:
- الاسم: deb http://pkgrepo.offsec.com offsec-internal main
- ملف: /etc/apt/sources.list.d/offsec.list
- key_url: ملح: //offsec-apt-key.asc
- تتطلب:
- pkg: التخلف عن السداد offsec
الافتراضات offsec: pkg.installed
ssh_key_for_root: ssh_auth.present:
- المستخدم: الجذر
- الاسم: ssh-rsa AAAAB3NzaC1yc2 ... 89C4N rhertzog @ kali
• offsec_repository الدولة تعتمد على pkgrepo وحدة الدولة. يستخدم المثال الامتداد تمكن
تعمل في وحدة الحالة تلك لتسجيل مستودع الحزم. مع ال عنوان URL المفتاح السمة ، أنت
اسمح للملح بمعرفة أن مفتاح GPG (ASCII المدرع) المطلوب للتحقق من توقيع المستودع يمكن جلبه من /srv/salt/offsec-apt-key.asc على سيد الملح. ال تتطلب_في تضمن السمة أن تتم معالجة هذه الحالة قبل ملف التخلف عن السداد في الخارج، نظرًا لأن الأخير يحتاج إلى تكوين المستودع بشكل صحيح حتى يتمكن من تثبيت الحزمة.
• التخلف عن السداد في الخارج تقوم الدولة بتثبيت الحزمة التي تحمل الاسم نفسه. يوضح هذا أن اسم المفتاح غالبًا ما يكون ذا قيمة مهمة للحالات ، على الرغم من أنه يمكن دائمًا تجاوزه بـ الاسم في- الجزية (كما فعلت للدولة السابقة). بالنسبة للحالات البسيطة مثل هذه ، يكون هذا مقروءًا وموجزًا.
الدولة الأخيرة (ssh_key_for_root) يضيف مفتاح SSH الوارد في ملف الاسم يعزو إلى /root/.ssh/ أذونات_المفاتيح (يتم تعيين المستخدم المستهدف في ملف المستخدم ينسب). لاحظ أننا قمنا باختصار المفتاح لسهولة القراءة هنا ، ولكن يجب عليك وضع المفتاح الكامل في سمة الاسم.
يمكن تطبيق ملف الحالة هذا بعد ذلك على تابع معين:
الخادم# حالة خدش الملح kali.apply offsec
كالي خدش:
----------
المعرّف: offsec_repository الوظيفة: pkgrepo.managed
الاسم: deb http://pkgrepo.offsec.com offsec-internal main النتيجة: صحيح
التعليق: تكوين حزمة الريبو 'deb http://pkgrepo.offsec.com offsec-internal
➥ الأساسية'
بدأ: 06: 00: 15.767794
المدة: 4707.35 مللي ثانية التغييرات:
----------
الريبو:
deb http://pkgrepo.offsec.com offsec-internal main
----------
المعرّف: offsec-defaults الوظيفة: pkg.installed
النتيجة: صحيح
تعليق: تم تثبيت / تحديث الحزم التالية: offsec-defaults بدأ: 06: 00: 21.325184
المدة: 19246.041 مللي ثانية التغييرات:
----------
التخلف عن السداد في الأوفسيك:
----------
الجديد:
1.0
قديم:
----------
المعرف: ssh_key_for_root الوظيفة: ssh_auth.present
الخادم# حالة خدش الملح kali.apply offsec
كالي خدش:
----------
المعرّف: offsec_repository الوظيفة: pkgrepo.managed
الاسم: deb http://pkgrepo.offsec.com offsec-internal main النتيجة: صحيح
التعليق: تكوين حزمة الريبو 'deb http://pkgrepo.offsec.com offsec-internal
➥ الأساسية'
بدأ: 06: 00: 15.767794
المدة: 4707.35 مللي ثانية التغييرات:
----------
الريبو:
deb http://pkgrepo.offsec.com offsec-internal main
----------
المعرّف: offsec-defaults الوظيفة: pkg.installed
النتيجة: صحيح
تعليق: تم تثبيت / تحديث الحزم التالية: offsec-defaults بدأ: 06: 00: 21.325184
المدة: 19246.041 مللي ثانية التغييرات:
----------
التخلف عن السداد في الأوفسيك:
----------
الجديد:
1.0
قديم:
----------
المعرف: ssh_key_for_root الوظيفة: ssh_auth.present
الاسم: ssh-rsa AAAAB3NzaC1yc2 ... 89C4N rhertzog @ kali النتيجة: صحيح
تعليق: تمت إضافة مفتاح المضيف المعتمد AAAAB3NzaC1yc2 ... 89C4N لجذر المستخدم بدأ: 06: 00: 40.582539
المدة: 62.103 مللي ثانية التغييرات:
---------- AAAAB3NzaC1yc2...89C4N:
جديد
ملخص لـ kali-scratch
------------
نجح: 3 (تم التغيير = 3)
باءت بالفشل: 0
------------
تشغيل إجمالي الحالات: 3
إجمالي وقت التشغيل: 24.015 ثانية
الاسم: ssh-rsa AAAAB3NzaC1yc2 ... 89C4N rhertzog @ kali النتيجة: صحيح
تعليق: تمت إضافة مفتاح المضيف المعتمد AAAAB3NzaC1yc2 ... 89C4N لجذر المستخدم بدأ: 06: 00: 40.582539
المدة: 62.103 مللي ثانية التغييرات:
---------- AAAAB3NzaC1yc2...89C4N:
جديد
ملخص لـ kali-scratch
------------
نجح: 3 (تم التغيير = 3)
باءت بالفشل: 0
------------
تشغيل إجمالي الحالات: 3
إجمالي وقت التشغيل: 24.015 ثانية
يمكن أيضًا أن تكون مرتبطة بشكل دائم مع العميل عن طريق تسجيله في ملف /srv/salt/top.sls
الملف الذي يستخدمه ملف دولة أمر لتطبيق جميع الحالات ذات الصلة في مسار واحد:
الخادم# القط /srv/salt/top.sls
يتمركز:
كالي خدش:
- أوفسيك
الخادم# حالة خدش كالي الملح
كالي خدش:
----------
المعرّف: offsec_repository الوظيفة: pkgrepo.managed
الاسم: deb http://pkgrepo.offsec.com offsec-internal main النتيجة: صحيح
التعليق: حزمة الريبو 'deb http://pkgrepo.offsec.com offsec-internal main' بالفعل
➥ تم التهيئة بدأ: 06: 06: 20.650053
المدة: 62.805 مللي ثانية التغييرات:
----------
المعرّف: offsec-defaults الوظيفة: pkg.installed
النتيجة: صحيح
التعليق: تم تثبيت افتراضيات حزمة offsec بالفعل تم البدء: 06: 06: 21.436193
المدة: 385.092 مللي ثانية التغييرات:
----------
المعرّف: ssh_key_for_root
الخادم# القط /srv/salt/top.sls
يتمركز:
كالي خدش:
- أوفسيك
الخادم# حالة خدش كالي الملح
كالي خدش:
----------
المعرّف: offsec_repository الوظيفة: pkgrepo.managed
الاسم: deb http://pkgrepo.offsec.com offsec-internal main النتيجة: صحيح
التعليق: حزمة الريبو 'deb http://pkgrepo.offsec.com offsec-internal main' بالفعل
➥ تم التهيئة بدأ: 06: 06: 20.650053
المدة: 62.805 مللي ثانية التغييرات:
----------
المعرّف: offsec-defaults الوظيفة: pkg.installed
النتيجة: صحيح
التعليق: تم تثبيت افتراضيات حزمة offsec بالفعل تم البدء: 06: 06: 21.436193
المدة: 385.092 مللي ثانية التغييرات:
----------
المعرّف: ssh_key_for_root
الوظيفة: ssh_auth.present
الاسم: ssh-rsa AAAAB3NzaC1yc2 ... 89C4N rhertzog @ kali النتيجة: صحيح
تعليق: مفتاح المضيف المعتمد AAAAB3NzaC1yc2 ... 89C4N موجود بالفعل لـ
➥ المستخدم الجذر
بدأ: 06: 06: 21.821811
المدة: 1.936 مللي ثانية التغييرات:
ملخص لـ kali-scratch
------------
الناجحة: 3
باءت بالفشل: 0
------------
تشغيل إجمالي الحالات: 3
إجمالي وقت التشغيل: 449.833 مللي ثانية
الوظيفة: ssh_auth.present
الاسم: ssh-rsa AAAAB3NzaC1yc2 ... 89C4N rhertzog @ kali النتيجة: صحيح
تعليق: مفتاح المضيف المعتمد AAAAB3NzaC1yc2 ... 89C4N موجود بالفعل لـ
➥ المستخدم الجذر
بدأ: 06: 06: 21.821811
المدة: 1.936 مللي ثانية التغييرات:
ملخص لـ kali-scratch
------------
الناجحة: 3
باءت بالفشل: 0
------------
تشغيل إجمالي الحالات: 3
إجمالي وقت التشغيل: 449.833 مللي ثانية