الولايات المتحدة الأمريكية

سولت ليك - ريال سولت ليك

Pin
+1
Send
Share
Send


حتى الآن ، يخلق النشر في العديد من الشركات مشاكل كبيرة ويمكن أن يستغرق عدة أيام أو أسابيع ، وفي حالات المهملة بشكل خاص ، أشهر. لكن الوضع ليس ميئوسا منه. هناك العديد من الأدوات والممارسات التي يمكن أن تساعد في هذه المهمة الصعبة. لكن هذه الأدوات لا يتم إتقانها في الغالب في يوم أو يومين ، والمواعيد النهائية محددة.

ماذا تريد عادة:

  • فرصة لرفع المشروع محليا على آلة المطور. كل أو على الأقل أجزاء. وأريد حقًا أن يختلف تكوين Dev عن Prod في الحد الأدنى من المعلمات. سيؤدي هذا إلى تجنب الأخطاء "العمل على الجهاز الخاص بي". على أي حال ، عندما يعمل أحد المطورين على OS X ، وآخر على Windows والإنتاج على دبيان ، ثم انتظر المشاكل ، فإن هذا لا يحسب حقيقة قيام الجميع بعمل إعداد البيئة.
  • أريد نشر تكوين Dev على أي جهاز ونظام تشغيل في بضعة أوامر في وحدة التحكم. سيؤدي هذا مرة أخرى إلى تقليل عامل "العمل على الجهاز الخاص بي" من الأخطاء. وسيسمح هذا أيضًا بجذب مطورين آخرين إلى المشروع في أقصر وقت (متشرد ودعنا نذهب).
  • يجب أن يكون التكوين واضحًا لكل من المبرمج والمسؤول.

كل هذا سوف نحققه في حفنة من Salt + Vagrant على مثال مشروع Django. لكن معظم التقنيات ستكون مفيدة للمطورين ، ليس فقط في بيثون ، ولكن بلغات أخرى.

ما هو الملح؟

إذا كنت معتادًا على الملح ، فيمكنك تخطي هذا القسم.

يعد Salt أداة قوية إلى حد ما لإدارة الكتلة (تزامن الكتلة) ، ولكن في رأيي الشخصي ، حتى استخدام الجهاز نفسه له ما يبرره تمامًا ولن يكون مبالغة (بشكل عام ، إذا كان لدى فريقك مطور واحد بالضبط ، فإن هذا لا يعني أنه يجب عليك عدم استخدام نظام التحكم الإصدار).

حالات الملح عبارة عن ملفات YAML بملحق sls الذي يصف الحالة التي يجب أن يكون فيها الجهاز. على سبيل المثال ، يجب أن يكون هذا الملف هنا ، ويجب تشغيل هذه الخدمة ، ويجب أن يتمتع هذا المستخدم بهذه الحقوق ، وما إلى ذلك. في Salt ، يمكنك الحفاظ على حالة ليس فقط أدوات مساعدة النظام (apt و rpm و cron والبرامج النصية الأولية والتكوينات المختلفة) ، ولكن أيضًا ، على سبيل المثال ، يمكنك التحقق من وجود مثل هذا المستخدم في RabbitMQ ، ما إذا كان أحدث إصدار من مستودع git ، ما إذا كانت جميع الحزم في virtualenv الخاص بك وهلم جرا. يمكن العثور على قائمة كاملة بالشروط هنا docs.saltstack.com/ref/states/all ، وفي رأيي أنها رائعة جدًا.

بعض الحقائق عن الملح

  • يستخدم الملح Jinja كلغة قالب للتكوينات وملفات الحالة. أنها مريحة بشكل لا يصدق وتتيح لك متابعة DRY حتى في التكوينات.
  • يستخدم الملح بالفعل من قبل شركات مثل Apple و NASA و LinkedIn وغيرها الكثير.
  • الملح مكتوب في بايثون ، رغم أنه ليس من الضروري معرفة بايثون لاستخدامه.
  • وثائق قوات الدفاع الشعبي لملح حوالي 1000 صفحة ، ويتم كتابتها بشكل صحيح تماما. هناك لن تجد فقط وصفًا لواجهة برمجة التطبيقات ، ولكن أيضًا ممارسات الاستخدام وأمثلة.

التكوين ديف

في رأيي ، من الصعب المبالغة في تقدير أهمية بيئة تطوير جيدة ومناسبة. ولكن قد يستغرق الأمر بضعة أيام ، أو حتى أسبوعًا ، لتكوين "كل شيء لنفسك". دعونا ننقذ هذه الأيام لزملائنا في المستقبل وإنشاء تكوين يتيح لنا رفع الإصدار الحالي للمشروع في أمر واحد:

حسنًا ، هذا هو في الواقع 3 فرق ، لكن إن أمكنك ذلك - فإني أصافح يدك.

لذلك ، سنبني تكوين dev الخاص بنا على Vagrant (بالنسبة لأولئك الذين ليسوا على دراية بـ Vagrant ، أوصي بشدة بمقابلتك):

ظهر مستودع git و config لـ Vagrant في مجلد my_app.

بعد ذلك ، استبدل المحتويات Vagrantfile إلى ما يلي:


سيتيح لك هذا التكوين إنشاء جهاز ضيف على Ubuntu ، في التكوين الذي قمنا بتعيينه اسم المضيف و IP ، حددنا أيضًا المجلدات التي يجب مزامنتها وأوضحنا أننا سنستخدم الملح لإحضار الجهاز الخاص بنا إلى الحالة المطلوبة (بالمناسبة ، سيكون جذر مشروعنا هو الإعداد الافتراضي متزامن مع / مجلد متشرد من آلة الضيف).

يمكنك معرفة المزيد حول ما يحدث هنا.

لذلك ، نحن مستعدون للبدء في وصف الحالة. إنشاء ملف الملح / العميل مع المحتوى التالي:


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

الآن قم بإنشاء مجلدين:

الأول سيخزن متغيرات متنوعة ، والثاني هو مجلد الحالة لجهاز الضيف لدينا.

إنشاء ملف الملح / الجذور / الملح / top


كما كنت قد خمنت ، SLS تشبه الى حد بعيد yaml. لكن الفارق الرئيسي هنا هو أن sls هو أيضًا قالب jinja مع كل العواقب (سترى لاحقًا أنه مفيد بالفعل).

الأساس هو اسم تكوين حالة من مجموعة وهمية لدينا. dev-my-app هو اسم مضيف جهاز الضيف لدينا. هنا يتم استخدام مطابقة الأنماط ، أي ، يمكننا تحديد "dev- *" ، وستنطبق جميع الحالات أدناه على جميع الآلات مثل dev-alpha و dev-foobar ، إلخ. فيما يلي قائمة بالولايات التي سنحتاج إلى وصفها.

إنشاء الحالات المعلنة من الثعبان ، nginx والمشرف:


لذلك ، يمكنك تشغيل بالفعل "متشرد يصل". يقوم هذا الإجراء بتنزيل صورة أوبونتو (إذا لم يكن لديك بالفعل في ذاكرة التخزين المؤقت للصورة) ، فقم بتثبيت الملح هناك وابدأ مزامنة الحالة.
الآن لدينا الثعبان والمشرف و nginx على جهاز ضيفنا.
يمكنك التحقق من ذلك عن طريق الذهاب إلى الجهاز من خلال ssh متشرد أو عن طريق الذهاب إلى 3.3.3.3

حتى الآن ، يبدو أن كل شيء بسيط. نواصل:

إنشاء متغيرات عمود:

يشير الملف الأول إلى أن مضيف dev-my-app يتم تعيين متغيرات له من تكوين my-app. الملف الثاني هو المتغيرات الفعلية نفسها.

قم الآن بإنشاء مجلد لحالات التكوين الخاصة بتطبيق Django الخاص بنا:


تلميح: عندما تتطلب تجميع التبعيات ، شاهد ، وما إلى ذلك ، ضع في اعتبارك أنه سيتم فحص الحالات بترتيب عشوائي. عند إعداد هذا المقال ، ارتكبت هذا النوع من الأخطاء ، وحاولت حزم django و gunicorn التثبيت في virtualenv لم يتم إنشاؤه بعد.


أضف الحالة المنشأة حديثًا إلى الملح / الجذور / الملح / top


لقد انتهينا تقريبا. لكن الشيء الأكثر أهمية هو رمز تطبيق Django الخيالي. دعونا إنشاء مشروع جانغو اختبار فارغة على النحو التالي:


سوف تستغرق هذه العملية عدة دقائق (معظم الوقت سيتم تثبيت django و gunicorn في virtualenv).

عندما يعمل الحكم ، انتقل إلى جهاز الضيف:


والداخل يفعل ما يلي:


وعلى الجهاز المضيف مرة أخرى نفعل توفير متشردوللتحقق من أن كل شيء يعمل في ملف المضيفين ، اكتب مؤقتًا:


انتقل إلى dev.my-app.com في المتصفح ، وإذا كان كل شيء على ما يرام ، فسنرى لقد نجحت!

بنيت التكوين ديف. يمكنك ارتكاب.

الآن إذا كنت ترغب في منح صديقك لعبة في مشروعك ، فلن يحتاج إلا إلى القيام بها بوابة استنساخ و متشرد يصل. علاوة على ذلك ، لن يتلقى هذا الصديق الخيالي الكود المصدري للمشروع نفسه فحسب ، بل سيكون لديه فكرة عن كيفية نشره.

من بين أشياء أخرى ، بشكل افتراضي ، يدور مشروعنا بشكل مستقل تحت سيطرة المشرف gunicorn +. ولكن ماذا لو كنا نريد بعد عن بُعد أو إذا أردنا إرجاع التغييرات المفضلة لرمز التحميل التلقائي؟ لا سؤال:


الآن يمكننا تعديل الشفرة بأمان ، وسيتم التقاط جميع التغييرات بواسطة خادم django تلقائيًا.
وإذا كان لا يزال لدينا مضيفين يتم تبديلهم مؤقتًا ، فسيستجيب خادم django نفسه للطلبات الواردة من dev.my-app.com.

همز التكوين

لذلك وصلنا إلى الشيء الأكثر أهمية. نحن نفترض أننا سننشر على prod-my-app.

بعد ذلك ، سننظر في خيار النشر في موقف يكون لدينا فيه خادم منفصل لبرنامج الملح الرئيسي (يُشار إليه فيما يلي بكل بساطة سيد).

نسخ إلى التكوينات الرئيسية ، إضافة إلى /srv/salt/top.sls


أو في حالتنا ، يمكنك القيام بذلك:


بعد ذلك ، افعل نفس الشيء مع الملف /srv/pillar/top.sls


ال /srv/pillar/my_app.sls تغيير المتغيرات وفقا لخريطة تخطيط لدينا.

على همز بلدي التطبيق تعيين الملح العميل. نحن نربط ملح العميل بسيد الملح (اقرأ هنا كيفية القيام بذلك).
الآن على المعالج ، يمكنك بدء تطبيق التكوينات:

تسليم مصادر المشروع إلى prod-my-app

هنا مرة أخرى ، مجموعة من الخيارات. أنا شخصياً أفعل ذلك: باستخدام الملح ، أؤيد مستودع git prod-my-app على التزام محدد يتم تخزين تجزئته في دعامة ، وإذا تغير ، فإن الملح يدير نصوص النشر في نهاية العمل.

بصراحة ، هذه ليست الطريقة الأفضل ، لكنها الأسهل. من الناحية المثالية ، قم بإنشاء ، على سبيل المثال ، حزم أصلية ، أو رفع pypi خاص.

مراجع

www.saltstack.com
www.vagrantup.com
hynek.me/talks/python-deployments هو مقال مفيد للغاية يحتوي على مجموعة من الملخصات حول نشر مشاريع الثعبان.

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

الاسم

اسم حقيقي ( النطق الاسباني: الحقيقي) هي الكلمة الإسبانية التي تعني "الملكية" باللغة الإنجليزية. يشيع استخدام هذا المصطلح من قبل الأندية الإسبانية التي حصلت على رعاية ملكية من الملك الأسباني الحاكم ، ومن أشهرها ريال مدريد وريال سرقسطة وريال بيتيس وريال سوسيداد. عند اختيار الاسم حقيقي يعتزم مالك Dave Checkets إنشاء علامة تجارية ستصبح مشهورة ببساطتها ، بالإضافة إلى ارتباطها بالنادي المشهور عالميًا في مدريد والذي يسعى النادي إلى تحقيقه.

سبب واحد للاستخدام حقيقي كان مؤسس Dave Checkets "إعجاب ريال مدريد في وقت واحد كمدير عام للرابطة الوطنية لكرة السلة (NBA)" في يوتا جاز. كما وجد Checketts أنه مما يثلج الصدر أن فريق ريال مدريد لديه فريق كرة سلة أيضًا.

قوبل رد الفعل المحلي على اسم الفريق الجديد في البداية بمشاعر مختلطة. بالإضافة إلى ذلك ، اعتقد البعض أن الاسم بدا بعيد المنال ، ولم يعكس في الواقع منطقة سالت ليك ، مع تفضيل أسماء الفرق الأخرى مثل هايلاندرز ، أو سالت ليك ، أو يونيون إس إل سي. ومع ذلك ، على الأقل 2014 ، تحسّن رد الفعل على الاسم ، حيث أثبت الفريق هويته كممثل لبحيرة سولت ليك.

السنوات المبكرة (2005-2006)

أصبحت سولت لايك الامتياز الثاني عشر لـ MLS عندما منحت MLS امتياز التوسعة في 14 يوليو 2004 ، مع SCP Worldwide بقيادة Dave Checkets. أصبح جيسون كريس أول لاعب في تاريخ RSL ، حيث جاء في تجارة من حرق دالاس. من اللاعبين المشهورين الآخرين الذين لعبوا في السنوات الأولى من RSL المحاربين القدماء ماتيس ، إدي بوب وجيف كننغهام.

كان موسم RSL الأول عام 2005 تحت قيادة المدرب جون إلينجر. بدأت RSL باللعب في 2 أبريل 2005 ضد New York MetroStars على استاد العمالقة ، والتي انتهت بالتعادل بدون أهداف. في الأسبوع التالي ، سجل جيسون كريس الهدف الأول في تاريخ الامتياز بخسارة 3-1 أمام لوس أنجلوس جالاكسي في مركز هوم ديبوت. لعب RSL مباراته الأولى على الإطلاق في 16 أبريل 2005 ، قبل 25287 مشجعًا في استاد رايس إكليس ، وسجل براين دونست برأسه في الدقيقة 81 ليسجل فوزًا 1-0 على كولورادو رابيدز. كان الموسم خيبة أمل كبيرة ، مع ذلك ، فقد سجل الرقم القياسي في الدوري من خلال تسجيل سلسلة من الهزائم التي استمرت 557 دقيقة (كسرها فيما بعد فريق تورونتو إف سي). وكانوا أيضًا في سلسلة من الهزائم التي استمرت 10 أعوام قبل إدارة تعادل 2-2 خارج أرضه مع زلزال سان خوسيه. انتهى الموسم الأول برقم 5-22-5.

في عام 2006 ، في الموسم الثاني من سولت ليك ، سجل الفريق خمس خسائر وتعادل واحد في المباريات الست الأولى من الموسم. خاضت RSL 18 مباراة متتالية دون فوز - أطول سلسلة متتالية بدون تاريخ في تاريخ MLS. قدم جيف كننغهام ، الذي جاء إلى سولت ليك من كولورادو ، معظم النقاط البارزة في الوقت الفعلي خلال موسم 2006 غير الناجح. لم يستطع الفريق التأهل إلى التصفيات ، حيث أنهى 10-13-9 سجلات.

دوار و استاد جديد (2007-2008)

تفاخرت سالت ليك بهجوم هائل على جبهة كننغهام وكريس ، وانضم إليه اللاعب البنمي الدولي لويس تيجادا. حصل على الدعم من لاعب خط الوسط المخضرم والموهبة الدفاعية مثل كريس كلاين ، كاري تالي ، وحارس مرمى الوافد الجديد ريماندو. كانت أول مباراة لهم في الدوري الأمريكي للموسم الجديد في موسم 2007 تعادل 2-2 مع نادي دالاس في أرض ريال مدريد. تم تجاوز RSL 6-0 في المباريات الثلاث المقبلة. في خطوة رائعة ، تم طرد Ellinger واستبداله بـ Kreis ، الذي اعتزل على الفور كلاعب. بالإضافة إلى ذلك ، استقال المدير التنفيذي ستيف باستورينو وحل محله غارث لاجيرفي. بدأ الامتياز في مشروع إعادة بناء ضخم ، والذي استمر طوال العام. أنهى الفريق سجل مخيب للآمال 6-15-9 ، وتخطى إلى التصفيات مرة أخرى.

في موسم MLS لعام 2008 ، من خلال العمل مع المدير العام الجديد Garth Lagervey ، أضافت RSL العديد من اللاعبين الرئيسيين ، بما في ذلك Kyle Beckerman و Robbie Findley و Javier Morales و Borchers و Jamison Olav. عندما اجتمعت الكيمياء الحقيقية معًا ، ظهرت كقوة تلعب في المنزل. تحسنت بشكل ملحوظ ميزة الفريق المضيف للفريق المضيف مع افتتاح استاد ريو تينتو ، وهو ملعب ساندي الجديد المخصص لكرة القدم في أكتوبر 2008. خلال الموسم العادي ، انتهى سجل منزلهم في 8-1-6. في نهاية عام 2008 بتسجيل 10-10-10 ، وصلت RSL إلى التصفيات لأول مرة. تمريرة RSL عبر Chivas USA في الجولة الأولى من التصفيات. بعد انتهاء الموسم ، خسر RSL أمام ريد بولز في نهائيات المؤتمر الغربي.

نجاح MLS و CONCACAF (2009-2012)

في موسم MLS لعام 2009 ، أثبت فريق RSL عدم هزيمته على أرضه تقريبًا ، حيث حقق 9-1-5 مشاركات في استاد Rio Tinto مع هدف تفاضلي قياسي +23. لم تخسر سولت لايك مباراة بالدوري على أرضها منذ مايو 2009. ومع ذلك ، كافح الفريق من أجل البقاء في حالة جيدة أثناء الألعاب على الطرق. في الأسابيع الأخيرة من الموسم العادي ، انتهى الأمر بمباراة RSL في المعركة على المركزين الأخيرين في التصفيات MLS. ومع ذلك ، وبفضل النصر على كولورادو في المباراة النهائية للموسم العادي ، فإن RSL لا رجعة فيه في التصفيات MLS 2009. على الرغم من أن النتيجة انتهت بسجل للخاسر بشكل عام (11-12-7) ، حصل الفريق على المركز الأخير من خلال التعادل. واصلت سولت لايك الفوز بكأس MLS 2009 ، حيث فازت على لوس أنجلوس جالاكسي في النهائي يوم 22 نوفمبر. لعب RSL لوس أنجلوس جالاكسي في الوقت بدل الضائع 1-1 وفاز بكأس MLS (5-4 على ركلة جزاء). تم تسمية حارس المرمى ريماندو في مباراة رجل. الفوز بكأس MLS 2009 من فريق RSL المؤهل لدوري أبطال CONCACAF 2010-11.

شهد موسم 2010 استمرار RSL في سلسلة انتصاراته المحلية. 16 أكتوبر ، 2010 رفع ريال سالت ليك سلسلة انتصاراته المحلية إلى 25 مباراة بعد فوزه على دالاس. أعطى هذا النصر Real Salt Lake أكثر الألعاب المنزلية اتساقًا دون خسارة في تاريخ MLS. تعادل فريق RSL مع الرقم القياسي لسان خوسيه إيرثكويك 2005 لموسم وحيد لم يهزم على أرضه مع خسارة صفرية في موسم 2010 العادي. احتلت سولت ليك المركز الثاني في السباق لصالح مؤيدي الدرع بتسجيل رقم (15-4-11). وقاد حارس المرمى ريماندو الدوري بـ 14 دورة للألعاب الجافة ، وحصل جاميسون أوليف على جائزة أفضل لاعب في العالم. في التصفيات MLS ، خسر RSL أمام دالاس في الجولة الأولى.

في دوري أبطال CONCACAF 2010-11 ، تم وضع سولت ليك في المجموعة الأولى مع كروز أزول المكسيك ، إف سي تورنتو كندا وأرابي أونيدو بنما. احتلت سولت ليك المركز الأول في المجموعة الأولى ، بنتيجة 3-0 على أرضها وسجل 1-1-1. واصل فريق RSL مسيرته في التصفيات المؤهلة لدوري أبطال CONCACAF 2010-2011 في ربيع عام 2011 في ربع النهائي ، تقدّم سولت ليك بفوزه على كولومبوس كرو 4-1 في مباراتين. في الدور نصف النهائي من Real Salt Lake ، تغلب على Saprissa 2-0 في مباراة منزلية قبل أن يخسر مباراة الذهاب 1-2. كانت الوحدة 3-2 ريالًا بما يكفي للتقدم وتصبح أول فريق متعدد الأطراف يصل إلى نهائي دوري أبطال CONCACAF. لعبت سولت ليك المباراة الأولى من النهائيات على الجانب المكسيكي من مونتيري. سجل RSL Javier Morales الهدف في الدقيقة 89 ، حيث أنهى المباراة بالتعادل 2-2. المرحلة الثانية من المباراة النهائية جرت في 27 أبريل 2011 على ملعب ريو تينتو ، وسجل مونتيري الهدف الوحيد في اللعبة ، مما منح مونتيري انتصارا تراكميا 3-2.

في موسم MLS 2011 بلا مأوى ، انتهت سلسلة RSL غير المهزومة في 29 مباراة في 28 مايو 2011 ، بخسارة أمام FC Seattle Sounders. أنهى ريال الموسم العادي برصيد 15-11-8 وانتهى في المركز الثالث في المؤتمر الغربي. في التصفيات MLS ، هزم RSL سياتل ساوندرز 3-2 في مجموع مباراتين. في نهائيات المؤتمر ، خسرت RSL 3-1 أمام لوس أنجلوس جالاكسي وتم استبعادها. تأهلت RSL إلى دوري أبطال CONCACAF 2012-13 منذ فازت LA بكأس MLS 2011 ودرع المؤيدين ، وكانت RSL هي أفضل رقم قياسي.

في عام 2012 ، احتل ريال المركز الثاني في المؤتمر الغربي خلال الموسم العادي. في التصفيات ، خسر RSL أمام سياتل في الدور قبل النهائي للمؤتمر ، واستبعد من التصفيات. في دوري أبطال CONCACAF 2012-2012 ، تم تصنيف RSL في المجموعة الثانية مع Herediano Costa Rica و Tauro Panama ، لكن تم إقصاؤها في مرحلة المجموعات.

ملكية جديدة وافتتاح مركز تدريب هاريمان (2013 حتى الآن)

في عام 2013 ، باع Checketts حصته في Real Salt Lake للأقلية Dell Loy Hansen. قبل بداية الموسم ، يتم تداول النادي من قبل اللاعبين الرئيسيين جاميسون أوليف وإسبندولا وويل جونسون. أنهى فريق RSL الموسم في المركز الثاني في Western Conference برصيد 16-10-8 (TPM) ، ووصل إلى نهائيات كأس الكأس المفتوحة وكأس MLS ، وخسر أمام كل من DC United و Sporting Kansas City ، على التوالي.

بعد الموسم ، ترك المدرب الرئيسي جيسون كريس ريال سالت ليك ليصبح أول مدرب رئيسي لتوسعة نادي مدينة نيويورك ، مع المدرب المساعد جيف كاسار الذي حل مكانه في منصبه. على الرغم من مغادرته ، أنهى النادي موسم 2014 في المركز الثالث في Western Conference ، مسجلاً 15-8-11 في إجمالي 56 نقطة ، ومؤهلات لدوري أبطال CONCACAF 2015-16. في التصفيات من كأس MLS ، تم استبعاد RSL في الدور نصف النهائي من المؤتمر للأبطال المحتملين من LA Galaxy 5-0 على الوحدة.

على الرغم من خمس مباريات لم تُهزم قبل موسم 2015 ، بدأ الفريق في النهاية القتال في الترتيب ، إلى جانب الخسارة أمام سبورتنج كانساس سيتي في الدور نصف النهائي من كأس العالم المفتوحة 2015. كما خسر نادي RSL لاعبًا رئيسيًا ، Borchers ، الذي كان يتداوله مع Portland Timbers قبل بداية الموسم ، وخسر Saborio هدافه في جميع الأوقات أمام DC United في منتصف الموسم. على الرغم من أن لويس سيلفا وخوان مانويل مارتينيز قاما بتقديم عروض قوية في نهاية موسم توقيعه ، إلا أن الفريق لم يشارك في التصفيات للمرة الأولى منذ عام 2007.

بدأ موسم 2016 مع ربع نهائي دوري أبطال CONCACAF 2015-16 ، حيث تم إقصاؤهم في الوصيف الأخير Tigres UANL من Liga MX برصيد إجمالي 3-1. شهد موسم 2016 عودة سالت ليك إلى التصفيات ، لكن تم القضاء عليها مرة أخرى من قبل جالاكسي ، وهذه المرة على طول الخط 3-1 على الطريق في المؤتمر الغربي لممارسة الألعاب. في الوقت المناسب ، لا تتاح الفرصة لأسطورة النادي خافيير موراليس وجاميسون أولاف في النادي.

في 20 مارس 2017 ، أعلن النادي أن المدير الفني للمنتخب جيف كاسار كان مرتاحاً لواجباته في ثلاث مباريات فقط من الموسم. تم تعيين داريل شور مدربًا مؤقتًا للمباراتين ضد نيويورك ريد بولز ومينيسوتا يونايتد. في 29 مارس ، تم الإعلان عن أن مايك بيتك سيتولى تدريب المدربين بعد لعبه مع مينيسوتا يونايتد في الأول من أبريل ، على الرغم من النهاية العمياء لسباق الموسم ، حصل الفريق على نقطة خجولة لجعل التصفيات.

تميز موسم 2018 بافتتاح مركز تدريب جديد بقيمة 78،000،000 دولار وأكاديمية حقيقية تابعة لبنك صهيون في هيرمان بولاية يوتا. وقد حظي هذا المركز بالثناء على تقديمه مرافق دراسية على مستوى عالمي على مدار السنة لصالح Real Salt Lake وفرق أخرى من مؤسسات Utah Royals FC التابعة لـ NWSL والتقسيم المباشر لملوك حقيقيين ذكور. ويضم أيضًا فريق أكاديمية الشباب ، الذي تم نقله من Casa Grande ، أريزونا ، ويقدم في مكان واحد ، ومسارًا واضحًا لاكتساب المواهب الشابة وتطويرها.

ما هذا

السلط هي منصة مفتوحة المصدر لإدارة البنية التحتية مبنية على حافلة اتصالات ديناميكية. يمكن استخدام الملح لإدارة التكوين لأي مجموعة من الأنظمة أو التطبيقات ، لإدارة البيانات ، لتشغيل الأوامر عن بُعد ، إلخ.

يمكنك قراءة كيفية تثبيت وتكوين تفاعل Salt Master و Salt Minions على الخوادم التي تعمل بنظام التشغيل Ubuntu 18.04 في إرشاداتنا.

الماجستير والتوابع

ملح سيد - هذا خادم يعمل كمركز تحكم لأتباعه ، ويتم إرسال طلبات التنفيذ عن بعد من Master. على سبيل المثال ، يبلغ هذا الأمر عن استخدام القرص الحالي بواسطة كل من التوابع التي يتحكم فيها السيد:

هناك الكثير من هذه الفرق. على سبيل المثال ، يمكنك ضبط NGINX على العميل المسمى webserver1:

الملح "webserver1" pkg.install nginx

التوابع الملح (العقد ، التوابع) - هذه الخوادم الخاصة بك تحت سيطرة المعالج ، حيث يتم تشغيل التطبيقات والخدمات عليها. يتم تعيين معرف لكل عميل ، ويمكن للسيد الرجوع إلى هذا المعرّف لتعيين أوامر لتوابع محددة.

يتم إجراء الاتصالات بين المعلم والتوابع وفقًا لبروتوكول النقل ZeroMQ ، يتم تشفير القناة باستخدام زوج من المفاتيح العامة والخاصة. يتم إنشاء زوج المفاتيح بواسطة العميل ، وبعد ذلك يرسل مفتاحه العام إلى السيد.

التنفيذ عن بعد

يوفر Salt مجموعة واسعة جدًا من الوحدات لتنفيذ الأوامر عن بُعد. وحدة التنفيذ عبارة عن مجموعة من الوظائف ذات الصلة التي يمكنك تشغيلها على التوابع باستخدام أمر من المعالج. على سبيل المثال:

الملح "webserver1" npm.install بلع

في هذا الأمر ، npm هي الوحدة النمطية ، والتثبيت هو الوظيفة. يقوم هذا الأمر بتثبيت حزمة Gulp Node.js من خلال Node Package Manager (NPM).

تعد وحدات وقت التشغيل المتاحة حلولًا مناسبة لإدارة النظام:

  • إنشاء وإدارة مستخدمي النظام
  • تثبيت وإلغاء تثبيت البرنامج
  • تحرير أو إنشاء ملفات التكوين

يتم استخدام الدالة cmd.run لتشغيل الأوامر التعسفية على التوابع المتحكم فيها:

ملح "*" cmd.run "ls -l / etc"

سوف يسرد هذا الأمر محتويات الدليل / etc لكل عميل.

الولايات والصيغ والملف العلوي

يقدم الملح طريقة أخرى للتحكم في العقدة التي من خلالها يجب وصف الحالة التي يجب أن يكون فيها العميل. هذا النوع من التكوين يسمى حالة الملح ، وعادة ما تسمى المنهجية إدارة التكوين.

يتم تعريف الدول في ملفات الحالة. بعد وصف حالات التوابع ، يتم تطبيقها على العميل.

وصف الحالة

فيما يلي مثال على ملف الحالة /srv/salt/webserver_setup.sls ، والذي يضمن تثبيت المكونات التالية: rsync ، curl ، NGINX ، و NGINX يبدأ التشغيل ويتم تشغيله عند بدء تشغيل نظام التشغيل:

تنتهي ملفات الحالة بالملحق .sls (SaLt State). يمكن أن تحتوي ملفات الحالة على وصف أو أكثر من حالات الحالة ، وهي أقسام المستوى الأعلى (network_utilities و nginx_pkg و nginx_service في المثال أعلاه). معرفات الوصف تعسفية ، حتى تتمكن من تسميتها كما تشاء.

تحتوي أوصاف الحالة على وحدات الحالة. الوحدات النمطية الحالة مختلفة عن الوحدات النمطية وقت التشغيل ، ولكن غالباً ما تؤدي مهام مماثلة. على سبيل المثال ، هناك وحدة حالة pkg مع وظائف مشابهة لوحدة وقت تشغيل pkg ، مثل وظيفة حالة pkg.installed ووظيفة تشغيل pkg.install.

ملفات الحالة هي ببساطة مجموعات من القواميس والقوائم والسلاسل والأرقام التي يفسرها Salt بعد ذلك. بشكل افتراضي ، يستخدم Salt بناء جملة YAML لتمثيل الحالات.

عادةً ما يتم تخزين ملفات الحالة في نظام الملفات بمعالج Salt ، ولكن يمكن أيضًا تخزينها في مكان آخر في خادم الملفات ، على سبيل المثال ، في مستودع Git.

تطبيق الدولة على ميجنون

لتطبيق الحالة على العميل ، استخدم الدالة state.apply نيابة عن المعالج:

الملح `webserver1` state.apply webserver_setup

يطبق هذا الأمر مثال حالة webserver_setup.sls على العميل المسمى webserver1. عند تطبيق الحالة ، لم يتم ذكر اللاحقة .sls. يتم تطبيق جميع أوصاف الحالة من ملف الحالة.

صيغة

الصيغ هي مجرد مجموعات من الحالات التي تقوم معا بتكوين مكون من تطبيق أو نظام في العميل. عادة ما يتم تنظيم الصيغ باستخدام عدة ملفات .sls مختلفة. يمكن أن يؤدي فصل حالات الصيغة إلى ملفات مختلفة إلى تبسيط تنظيم عملك. قد تتضمن إعلانات الدولة وربطها بالإعلانات في ملفات أخرى.

الملف العلوي

بالإضافة إلى تطبيق الحالات يدويًا على التوابع ، توفر Salt القدرة على عرض الحالات التي يجب تطبيقها تلقائيًا على التوابع المختلفة. وهذا ما يسمى ملف أعلى.

مثال بسيط لملف /srv/salt/top.sls:

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

يوضح المثال أعلاه أن حالة global_setup يجب أن تنطبق على جميع التوابع (‘* ') ، ويجب أن تنطبق حالة webserver_setup فقط على webserver1 minion.

إذا قمت بتشغيل الدالة state.apply بدون وسيطات ، فسيقوم Salt بالتحقق من الملف العلوي وتطبيق جميع الحالات فيه وفقًا للخريطة التي تم إنشاؤها:

تخزين البيانات (الأسرار) والأسرار (الأسرار)

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

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

يتم تخزين هذه البيانات في ملفات .sls ، على سبيل المثال ، ملف /srv/pillar/user_info.sls:

كما هو الحال مع ملفات الحالة ، يقوم الملف العلوي (منفصل عن ملف حالة Yop) بتعيين بيانات Pillar إلى التوابع ، على سبيل المثال / srv/pillar/top.sls:

قوالب Jinja

لاستخدام بيانات Pillar في ملفات الحالة ، استخدم قوالب Jinja.

فيما يلي مثال على ملف الحالة /srv/salt/user_setup.sls ، والذي يستخدم بيانات Pillar من القسم السابق لإنشاء مستخدمي النظام وتثبيت shell:

يقوم الملح بتجميع ملف الحالة في ملف مشابه قبل تطبيقه على العميل:

في المثال التالي ، سيقوم ملف الحالة /srv/salt/webserver_setup.sls بتثبيت Apache وتكوين اسم الحزمة وفقًا لنظام التشغيل:

يمكن العثور على مزيد من المعلومات في وثائق المنتج الرسمية.

Pin
+1
Send
Share
Send

شاهد الفيديو: Short Stop in Salt Lake City [email protected] 513 (أبريل 2020).