أحضر المكوّن الإضافي لواجهة شبكة الحاوية (CNI) مع خدمة Azure Kubernetes (AKS)
لا يوفر Kubernetes نظام واجهة شبكة افتراضيا. بدلا من ذلك، توفر المكونات الإضافية للشبكة هذه الوظيفة. توفر خدمة Azure Kubernetes (AKS) العديد من المكونات الإضافية ل CNI المدعومة. للحصول على معلومات حول المكونات الإضافية المدعومة، راجع مفاهيم شبكة AKS.
تلبي المكونات الإضافية المدعومة معظم احتياجات الشبكات في Kubernetes. ومع ذلك، قد يرغب مستخدمو AKS المتقدمون في استخدام نفس المكون الإضافي CNI المستخدم في بيئات Kubernetes المحلية أو لاستخدام وظائف متقدمة متوفرة في مكونات CNI الإضافية الأخرى.
توضح هذه المقالة كيفية نشر نظام مجموعة AKS مع عدم تثبيت المكون الإضافي CNI مسبقا. من هناك، يمكنك بعد ذلك تثبيت أي مكون إضافي ل CNI تابع لجهة خارجية يعمل في Azure.
يدعم
لا يمكن أن يساعد دعم Microsoft في المشكلات المتعلقة ب CNI في المجموعات المنشورة مع إحضار واجهة شبكة الحاوية الخاصة بك (BYOCNI). على سبيل المثال، تغطي المشكلات المتعلقة بـ CNI معظم حركة مرور الشرق/الغرب (مجموعة إلى مجموعة)، بالإضافة إلى أوامر kubectl proxy
المماثلة. إذا كنت تريد الدعم المرتبط ب CNI، فاستخدم مكونا إضافيا لشبكة AKS مدعوما أو اطلب الدعم من مورد الجهة الخارجية للمكون الإضافي BYOCNI.
لا يزال يتم توفير الدعم للمشكلات غير المتعلقة ب CNI.
المتطلبات الأساسية
- بالنسبة إلى Azure Resource Manager (ARM) أو Bicep، استخدم إصدار القالب 2022-01-02-preview أو 2022-06-01 على الأقل.
- بالنسبة إلى Azure CLI، استخدم الإصدار 2.39.0 على الأقل.
- يجب أن تسمح الشبكة الظاهرية لنظام مجموعة AKS بالاتصال بالإنترنت الصادر.
- قد لا تستخدم أنظمة مجموعة AKS
169.254.0.0/16
أو172.30.0.0/16
أو172.31.0.0/16
أو192.0.2.0/24
لنطاق عناوين خدمة Kubernetes أو نطاق عناوين وحدات الجراب أو نطاق عناوين الشبكة الظاهرية الخاصة بأنظمة المجموعة. - يجب أن تمتلك هوية نظام المجموعة المستخدمة من جانب نظام مجموعة AKS على أذوناتمساهم شبكة الاتصالعلى الأقل على الشبكة الفرعية داخل الشبكة الظاهرية. إذا كنت ترغب في تحديد دور مخصص بدلا من استخدام دور مساهم الشبكة المضمن، فإن الأذونات التالية مطلوبة:
Microsoft.Network/virtualNetworks/subnets/join/action
Microsoft.Network/virtualNetworks/subnets/read
- لا يمكن أن تكون الشبكة الفرعية المعينة إلى تجمع عقدة AKS شبكة فرعية مفوضة.
- لا تطبق AKS مجموعات أمان الشبكة (NSGs) على شبكتها الفرعية أو تعديل أي من مجموعات أمان الشبكة المقترنة بتلك الشبكة الفرعية. إذا قمت بتوفير الشبكة الفرعية الخاصة بك وإضافة "مجموعات أمان الشبكة" المرتبطة بتلك الشبكة الفرعية، يجب التأكد من أن قواعد الأمان في "مجموعات الأمان الوطنية" تسمح بحركة نقل البيانات بين العقدة وحاوية CIDR. للحصول على مزيٍد من المعلومات، راجع مجموعة أمان الشبكة.
إنشاء نظام مجموعة AKS مع عدم وجود مكون إضافي CNI مثبت مسبقا
إنشاء مجموعة موارد Azure لنظام مجموعة AKS باستخدام
az group create
الأمر .az group create --location eastus --name myResourceGroup
إنشاء نظام مجموعة AKS باستخدام
az aks create
الأمر . مرر المعلمة--network-plugin
بقيمة المعلمة .none
az aks create \ --location eastus \ --resource-group myResourceGroup \ --name myAKSCluster \ --network-plugin none \ --generate-ssh-keys
توزيع مكون CNI إضافي
بمجرد اكتمال توفير AKS، تكون المجموعة متصلة بالإنترنت، ولكن جميع العقد في NotReady
حالة، كما هو موضح في المثال التالي:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
aks-nodepool1-23902496-vmss000000 NotReady agent 6m9s v1.21.9
$ kubectl get node -o custom-columns='NAME:.metadata.name,STATUS:.status.conditions[?(@.type=="Ready")].message'
NAME STATUS
aks-nodepool1-23902496-vmss000000 container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
في هذه المرحلة، يصبح نظام المجموعة جاهزًا لتثبيت المكون الإضافي CNI.
الخطوات التالية
تعرف على المزيد حول الشبكات في AKS في المقالات التالية:
Azure Kubernetes Service