DevOps and Infrastructure

تشفير mTLS وتحويل حركة المرور في Istio لترقيات بدون توقف

في المشهد الحديث للتطبيقات الأصلية للسحابة، أصبحت الخدمات المصغرة هي البنية القياسية لبناء أنظمة قابلة للتوسع وقوية. ومع ذلك، تأتي التعقيدات المتزايدة مع تحديات إدارة الاتصالات بين الخدمات بأمان ونشر التحديثات دون التسبب في انقطاعات في الخدمة. هنا تبرز قوة Istio، كشبكة خدمات قوية. من خلال تنفيذ أمان طبقة النقل المتبادل (mTLS) واستراتيجيات تحويل حركة المرور المتطورة، يمكن للمنظمات تحقيق كل من الأمان القوي والنشر السلس بدون توقف. يستكشف هذا المنشور كيفية دمج هذه التقنيات لإنشاء خط أنابيب نشر موثوق وآمن وفعال.

فهم Istio و mTLS

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

تمكين mTLS أمر بسيط. من خلال تكوين سياسة PeerAuthentication، يمكنك فرض mTLS الصارم عبر جميع الخدمات في مساحة الاسم. يضمن ذلك تشفير ومصادقة جميع حركة المرور الداخلة والخارجة، مما يوفر أساسًا أمنيًا قويًا للبنية التحتية الخاصة بك.

قوة تحويل حركة المرور

بينما يعد الأمان أمرًا بالغ الأهمية، فإن القدرة على نشر إصدارات جديدة من الخدمات دون إزعاج المستخدمين الحاليين مهمة بنفس القدر. تسمح قدرات تحويل حركة المرور في Istio للمطورين بتوجيه نسبة مئوية تدريجية من حركة المرور إلى الإصدارات الجديدة من الخدمة. تُعرف هذه التقنية غالبًا بنشر الكاناري (Canary) أو النشر الأزرق-الأخضر (Blue-Green)، وتقلل من المخاطر من خلال السماح للفرق بمراقبة أداء الإصدار الجديد قبل الالتزام الكامل به.

يتم إدارة تحويل حركة المرور من خلال موارد VirtualService و DestinationRule. تحدد هذه الموارد كيفية توجيه حركة المرور بناءً على الرؤوس (Headers) أو الأوزان أو معايير أخرى. من خلال الاستفادة من هذه التكوينات، يمكن للفرق تنفيذ استراتيجيات التسليم التدريجي التي تضمن التوفر العالي والاستقرار أثناء التحديثات.

تنفيذ ترقيات بدون توقف

لتحقيق ترقيات بدون توقف، نحتاج إلى دمج mTLS مع استراتيجية تحويل حركة المرور المنظمة. فيما يلي مثال عملي لكيفية تكوين Istio لنشر الكاناري مع أمان صارم.

الخطوة 1: فرض mTLS

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

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: default
  namespace: production
spec:
  mtls:
    mode: STRICT

تفرض سياسة PeerAuthentication هذه mTLS الصارم لجميع الخدمات في مساحة الاسم production. سيتم رفض أي اتصال لا يقدم شهادة صالحة.

الخطوة 2: تكوين تحويل حركة المرور

بعد ذلك، نقوم بتكوين VirtualService لتوجيه حركة المرور بين الإصدار المستقر وإصدار الكاناري للخدمة. في هذا المثال، يذهب 90٪ من حركة المرور إلى الإصدار المستقر، بينما يتم توجيه 10٪ إلى إصدار الكاناري للاختبار.

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: my-service
  namespace: production
spec:
  hosts:
  - my-service.production.svc.cluster.local
  http:
  - route:
    - destination:
        host: my-service
        subset: stable
      weight: 90
    - destination:
        host: my-service
        subset: canary
      weight: 10

في الوقت نفسه، نحدد المجموعات الفرعية (Subsets) في DestinationRule لضمان توجيه حركة المرور بشكل صحيح إلى الحاويات (Pods) المناسبة.

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: my-service
  namespace: production
spec:
  host: my-service.production.svc.cluster.local
  trafficPolicy:
    tls:
      mode: ISTIO_MUTUAL
  subsets:
  - name: stable
    labels:
      version: v1
  - name: canary
    labels:
      version: v2

المراقبة والتحقق

بمجرد وضع التكوين، تصبح المراقبة أمرًا حاسمًا. استخدم أدوات مثل Kiali و Prometheus و Grafana لتصور تدفقات حركة المرور ومعدلات الأخطاء. يتيح ذلك للفرق تحديد أي مشاكل في إصدار الكاناري بسرعة والتراجع عنها إذا لزم الأمر.

علاوة على ذلك، توفر بيانات التيليمتري الغنية في Istio رؤى حول زمن الوصول وحجم الطلبات ومعدلات النجاح، مما يمكّن من اتخاذ قرارات مستندة إلى البيانات حول متى يتم ترقية إصدار الكاناري إلى حركة مرور الإنتاج الكاملة.

الخاتمة

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

Share: