التقديم
Consul من HashiCorp هو أداة متنوعة تقوم بمجموعة من الوظائف في بيئة DevOps حديثة. يتم استخدامها بشكل واسع لإيجاد الخدمات، والفحوصات الصحيحة، والتوزيع المتوزع، وعلى وجه الخصوص ، كمتجر توزيعي للمفاتيح (KV). قاعدة المفاتيح KV في Consul مناسبة لتخزين البيانات التعريفية الحالية، والعلامات التجارية، والأسرار، والمعلومات الوصفية بطريقة متاحة بالغة ومتوافرة عبر بنية التحكم التي يمكن أن يتم الوصول إليها بالفعل من خلال الخدمات في نظام توزيعي. إستخدام Docker لتكوين قاعدة KV في Consul يتيح إنشاء وإعداد سريع وبيئات منعزلة، مما يجعله مناسبًا للاختبار والتطوير.
سيقوم هذا الدرس التعليمي بتوجيهك خلال عملية تكوين وتكوين KV في Consul بواسطة Docker. وبناءً على هذا، سيكون لديك نسخة تشتغل بالكامل من Consul التي تعمل في Docker، مع أزواج KV المضمنة وقابلة للوصول. هذه ال configuración أساسية للتكوين الخام الخاص بالخدمات وإدارة الحالة في أنظمة توزيعية.
المقادير المطلوبة
قبل بدء العملية، تأكد من وجود التالي:
- حساب مع DigitalOcean Cloud.
- خوادم تشتمل على أوبونتو ومستخدم غير رئيسي بموارد التفويض المرشحة وجهاز إحتواء ناجم. لتوجيهات عن كيفية إنشاء هذا، رجاء إختيار توزيعك من هذه القائمة وتتبع دراسة بدائلك الأولية للخوادم الجديدة. يمكنك أيضًا أن تتأكد من أن تعمل بالنسخة المدعومة المناسبة من Ubuntu.
- تثبيت Docker على دولتك الخاصة بأوبونتو. يرجى تتبع دراسة هذه الدراسة التعليمية عن كيفية تثبيت واستخدام Docker في Ubuntu.
- معرفة جيدة بخطوات الشريط الأولي لللينكس. إذا كان لديك توعية أو تجديد للشريط الأولي، يمكنك الذهاب إلى هذه الدليلة التعليمية عن معرفة الخطوات الأولي لللينكس.
- معرفة بدرجة أولية عن أوامر Docker وإدارة البحوث.
خطوة 1 — سحب صورة Consul Docker الرسمية
دعونا نسحب صورة المُدير الرسمي ل Consul من Docker Hub. هذه الصورة مرشحة من قبل HashiCorp وتشمل كل ما تحتاجه لتشغيل Consul.
قم بتسجيل الدخول إلى داخل تلك اللوحة التحكم لدولتك الخاصة بأوبونتو وأجري:
خطوة 2 – تشغيل حاجز الConsul
بمجرد تحميل الصورة المتعددة للConsul، يمكنك بدء حاجز جديد للConsul. سيكون هذا الحاجز خادمك للConsul وسيسمح لك بالتفاعل مع متجر الـKV (متجر المعلومات الفرعية).
لبدء الحاجز، قم بتشغيل:
هذا الأمر يفعل التالي:
-d
يجري الحاجز بالوضع المنزوي (في الخلفية).--name=consul-server
يعطي الحاجز اسم.-e CONSUL_BIND_INTERFACE=eth0
يحدد الواجهة الشبكية التي يتم توصيل الConsul إليها. هذا ضروري للتواصل الشبكي صحيح.-p 8500:8500
يربط منتصف الUI الويب للConsul وقناة الAPI إلى الماحول.-p 8600:8600/udp
يربط قناة خدمة التحكم في التعرف الخاصة.
هذه الخطوة أساسية لأنها توفر خدمة الConsul الجوهرية التي ستستخدم لتكوين متجر الـKV.
خطوة 3 — تحقيق التثبيت المتعلق بتثبيت الConsul
لضمان أن الConsul يجري بالطريقة الصحيحة، يتوجب عليك تحقيق حالة الحاجز والوصول إلى الUI الخاص بالConsul.
أولاً، قم بتشغيل docker ps
لتعرف على جميع الcontainers التي تعمل وتأكد من أن الcontainer المتعلق بConsul يعمل.
والآن، تأكد من أن Consul قابل للوصول، فتفتح متصفح الويب وتوجه إلى http://localhost:8500
. ينبغي أن ترى واجهة المستخدم الخاصة بConsul.
هذه الخطوة التحقيقية مهمة للتأكد من أن نسخ الحالة الخاصة بinstance الخاصة بConsul تعمل بدون أي مشاكل قبل تخزين البيانات في المتجر الرئيسي (خطوة 5).
خطوة 4 — تكوين النانو (إختياري)
إذا كان يتوجب عليك توفير الوصول إلى instance الخاصة بConsul من خارج (مثلاً، من أعضاء المجموعات في مجموعة), يتوجب عليك تغيير إعدادات قواعد الحواسيب لتسمح للمرور في الأنقاب الضرورية.
على سبيل المثال، إذا كنت تجري Consul في تطبيق سحابي، قد تحتاج إلى تسمية المرور الداخلي على الأنقاب 8500 (API HTTP) و8600 (DNS). ستختلف الأوامر الخاصة وفقاً لحلول القواعد التي تستخدم (UFW، iptables وهلم جرا).
هذه الخطوة تتأكد من أن نسخ instance الخاصة بConsul قابل للوصول من آلاف الآلات، وهو أمر ضروري للتكوينات المتوزعة.
خطوة 5 — تخزين أزواج المفاتيح
بعد تشغيل Consul، يمكنك الآن استخدام مخزن KV لتخزين بيانات الإعدادات. يمكنك إضافة أزواج الключ-القيمة باستخدام Consul CLI أو الواجهة الويب.
لتخزين جفرة الключ-القيمة عن طريق CLI، أجري:
هذا ما يفعله الأمر:
-it
– يطلق الطرفية التفاعلية من النظام المحلي إلى الحاوية.consul kv put
– يكتب الأمر kv put البيانات في المسار المحدد لمخزن KV.config/db_host
– المسار لتخزين القيمة.192.168.1.100
– القيمة.
باستخدام الواجهة الويب،
- إنتقل إلى واجهة Consul (
http://localhost:8500
). - انقر على تبويب “المفتاح/القيمة”.
- أنشئ مفتاح جديد بالنقر على “إنشاء”.
- أدخل المفتاح (مثلاً
config/db_host
) والقيمة (مثلاً192.168.1.100
).
هذه الأوامر والإجراءات تخزن بيانات الإعدادات الحساسة التي يمكن لخدماتك الوصول إليها بشكل ديناميكي أثناء التشغيل.
الخطوة 6 — إسترجاع الأزواج الключ-القيمة
بمجرد تخزين بعض الأزواج KV، سترغب في استرجاعها للتأكد من أنها تم تخزينها بشكل صحيح.
باستخدام CLI، استرجع قيمة باستخدام الأمر التالي:
باستخدام الواجهة الويب،
- اذهب الى لوحة التحكم في Consul الإفتراضية إلى لوحة “المفاتيح/القيم”.
- ابحث عن المفتاح الذي قمت بإنشائه وانقر عليه لرؤية القيمة المتخزنة.
جمع مقارنات KV التي هي خطوة ضرورية لتأكد من أن بياناتك تتخزن بشكل صحيح وقابلة للAcces.
خطوة 7 — إبقاء البيانات باستخدام قاعدات Docker
بشكل افتراضي، قارورات Docker مؤقتة، مما يعني أن أي بيانات تتخزن فيها ستخسر إذا تم إزالة القارورة. لتأمين بيانات Consul KV المتخزنة، يجب أن تستخدم قواعد Docker.
- أوقف وأزل القارورة الحالية للConsul:
الآن ، قم بتفقد القارورات ويجب أن تلاحظ أن قارورة Consul لم تعد تعمل.
2. قم بتشغيل قارورة Consul جديدة مع قاعدة Docker متصلة:
الخيار -v consul_data:/consul/data
يربط قاعدة Docker إلى القارورة ، متأكدًا من أن ستون KV تبقى متخزنة عبر إعادات بدء القارورة.
خطوة 8 — تلقيح بدء الConsul تلقائيًا (خياري)
للتنمية المواجهة قد ترغب في تلبية البدء بجهاز ال Consul باستخدام Docker Compose. يجعل Docker Compose التطبيقات المتعددة الحزم ب Docker أبسط ويسهل إدارة الخدمات.
قم بإنشاء ملف docker-compose.yml
بالمحتويات التالية:
ثم، قم بتشغيل:
هذا الأمر يبدأ Consul تلقائيًا ويتأكد من إعادة تشغيله إذا فشلت، مما يجعله أكثر مرونة للاستخدام في الإنتاج.
خطوة 9 — تنظيف
بمجرد أن تنتهي من العمل بالحزمة الخاصة ب Consul، ينبغي عليك تنظيف بيئتك الخاصة ب Docker لتحريك مواردك.
دعونا نتوقف ونحذف الحزمة الخاصة ب Consul:
إذا انتهيت من Consul، يمكنك أيضًا إزالة صورة Docker:
تنظيفه يساعد على حماية بيئة التطوير النظيفة وتتأكد من أن موارد Docker لا تستهلك بشكل غير ضروري.
الختام
في هذا التورية، تعلمت كيفية إعداء وإعداد متجر المعايير Consul باستخدام Docker. قمت بتثبيت Docker، تشغيل الحاجز الخاص بConsul، تكوين المتجر المتفاعل، توفير البيانات مع Docker الأجسام، وتنظيف بيئتك. مع هذه الخطوات، يمكنك أن تستخدم الConsul الآن لإدارة بيانات الإعدادات في أنظمتك الموزعة بشكل ديناميكي، تسخر من قوة Docker للتنفيذ السهل وإدارة.
Source:
https://www.digitalocean.com/community/tutorials/how-to-configure-consul-kv-using-docker