Kubernetes / دليل حلول تحريري

اتصال الخدمة: تمييز DNS والنقاط وNetworkPolicy

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

وقت القراءة التقريبي: 2 دقيقةتاريخ مراجعة المحتوى

قاعدة معرفة للقراءة فقط · بلا تعليقات عامة

تعرّف على الأعراض

لا يصل مستدع للخدمة أويعمل بنطاق واحد أويتأخر بعد سياسة أويتلقى خطأ هوية HTTP. ليست كلها DNS؛ فقد ينجح الاسم وتغيب النقاط أويخطئ المنفذ أوتمنع الحركة أويفشل التطبيق.

افهم الأسباب المحتملة

  • تشمل الأسباب اسما غامضا أونطاقا أومجالا مفترضا أومحددا أوجاهزية أومنفذا أوربطا أوسماحا أودعما غائبا. تختلف هوية TLS وإذن التطبيق ويتبع الإنفاذ والترجمة التنفيذ.

تحديد المستدعي والطرف المقصود

سجل السياق المصرح والمصدر والوجهة والبروتوكول ومنفذ الخدمة والهدف والزمن. localhost للمستدعي لا Pod أخرى. قارن الاسم الكامل والمجال الموثقين لبحث القصير. احفظ فئة الخطأ لا رابط اعتماد. تبين المصفوفة ما يثبته كل دليل دون استعلام حقيقي.

text مصفوفة دليل اتصال اصطناعية
observation                     established evidence
DNS returns Service address      name resolution returned data
zero ready endpoint addresses    selection or readiness lacks eligible targets
TCP connection established       limited transport success
HTTP 401 response                an HTTP peer rejected authentication
TLS identity error               peer trust or identity needs investigation

الصفوف مستقلة ولا يثبت أحدها المسار والهوية والصحة والإذن كلها.

فحص اختيار الخدمة قبل التوجيه

قارن المحدد وتسميات المقصود بنطاقه وافحص العناوين والجاهزية واسم المنفذ بإذن. لا يبدأ التصريح مستمعا ولا يلزم تساوي المنفذين. عند غياب الأهلية افحص الاختيار والجاهزية لا DNS أوموازنا عاما. لعديمة الرأس عقد مختلف؛ واربط الدليل بالحياة الحالية لا لقطة قديمة.

تقييم اتجاهي السياسة وتنفيذها

قد يلزم خروج المصدر ودخول الوجهة وتتجمع السياسات فلا تلغي الافتراضية كل سماح. يقترن المحددان بعنصر واحد في المقطع، ويفصلهما بدائل إن فصلا. قد يحتاج DNS البروتوكولين وفق المحلل؛ فتحقق من الإضافة. لا تعطل الجميع لحدس ولا تفترض العزل بالنطاق أومصادقة المستخدم بالسياسة.

yaml مقطع طرف مقترن توضيحي
ingress:
  - from:
      - namespaceSelector:
          matchLabels: {team: reporting}
        podSelector:
          matchLabels: {app: reports}
    ports:
      - {protocol: TCP, port: 8080}

يلزم الشرطان بعنصر واحد وتغيب بقية البيان والخروج وDNS؛ فلا ينشر.

فصل النقل وTLS ونتائج التطبيق

يختلف الرفض والمهلة ولا يحددان سببا عاما. يشير فشل شهادة لهوية وثقة بعد النقل، ويثبت 401 أو 403 رد طرف HTTP لا حاجة تلقائية لتغيير DNS. راجع النقطة والإصدار والإعداد واختر إصلاحا محدودا بالمصدر وتحقّق التوافق. لا يستخدم الدليل حزمة أواستعلاما أوتمريرا أوأمرا أواعتمادا أوخدمة حقيقية.

تحقق من نجاح الإصلاح

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

امنع تكرار المشكلة

  • راجع الأسماء والمحدد والمنافذ والجاهزية والسياسة معا ووثق الدعم والمجال. اختبر الاستبعاد وDNS قبل الترقية ولا تجعل العرض العام أوالسماح الكامل بديلا دائما لعقد داخلي مفقود.

المراجع الرسمية