Use Confidential Virtual Machines (CVMs) in خدمة Azure Kubernetes ‏(AKS) cluster

Virtual Machines السرية (CVMs) توفر أمانا وسرية قوية للمستأجرين. توفر CVMs بيئة تنفيذ موثوقة للأجهزة (TEE) المستندة إلى الجهاز الظاهري والتي تستفيد من ميزات الأمان SEV-SNP لرفض وصول برنامج مراقبة الأجهزة الافتراضية وتعليمات البرمجية الأخرى لإدارة المضيف إلى ذاكرة الجهاز الظاهري وحالته، مما يوفر حماية دفاعية متعمقة ضد وصول المشغل. تمكن هذه الميزات تجمعات العقد مع CVMs من استهداف ترحيل أعباء عمل الحاويات الحساسة للغاية إلى AKS دون أي إعادة هيكلة للشيفرة، مع الاستفادة من ميزات AKS. على سبيل المثال، قد تحتاج إلى CVMs إذا كان لديك ما يلي:

  • أحمال العمل التي تتعامل مع البيانات الأمنية الهامة و / أو بيانات العملاء الحساسة
  • الخدمات المطلوبة لتلبية متطلبات الامتثال المختلفة ، خاصة بالنسبة للعقود الحكومية. بدون حل قابل للتوسع لتأمين البيانات، قد يؤدي ذلك إلى فقدان الاعتماد والعقود.

في هذه المقالة، ستتعلم كيفية إنشاء تجمعات عقدة AKS باستخدام أحجام الأجهزة الظاهرية السرية.

AKS المدعومة بأحجام الأجهزة الظاهرية السرية

يقدم Azure مجموعة من خيارات بيئة التنفيذ الموثوق بها (TEE) من كل من AMD وIntel. تسمح لك TEEs هذه بإنشاء بيئات الجهاز الظاهري السرية بنسب سعر إلى أداء ممتازة، كل ذلك دون الحاجة إلى أي تغييرات في التعليمات البرمجية.

  • تستخدم الأجهزة الافتراضية السرية المستندة إلى AMD تقنية AMD SEV-SNP ، والتي يتم تقديمها مع معالجات AMD EPYC™ من الجيل الثالث.
  • تستخدم الأجهزة الظاهرية السرية المستندة إلى Intel Intel TDX ، مع معالجات Intel® Xeon® من الجيل الرابع.

إشعار

أجهزة Confidential الافتراضية المبنية على Intel TDX غير مدعومة حاليا على AKS.

لمزيد من المعلومات، راجع أحجام الجهاز الظاهري CVM.

ميزات الأمان

توفر CVMs تحسينات الأمان التالية مقارنة بأحجام الجهاز الظاهري (VM) الأخرى:

  • عزل قوي قائم على الأجهزة بين الأجهزة الظاهرية وhypervisor ورمز إدارة المضيف.
  • نهج التصديق القابلة للتخصيص لضمان امتثال المضيف قبل النشر.
  • مفاتيح تشفير الجهاز الظاهري التي يمتلكها النظام الأساسي أو العميل (اختياريا) ويديرها.
  • تأمين إصدار المفتاح مع ربط التشفير بين التصديق الناجح للنظام الأساسي ومفاتيح تشفير الجهاز الظاهري.
  • مثيل الوحدة النمطية للنظام الأساسي الموثوق به الظاهري (TPM) المخصص للتصديق على المفاتيح والأسرار وحمايتها في الجهاز الظاهري.
  • إمكانية التمهيد الآمنة المشابهة للتشغيل الموثوق به لأجهزة Azure الظاهرية

كيف تعمل؟

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

إصدارات نظام التشغيل المدعومة

يمكنك إنشاء تجمعات عقدة CVM على أنواع نظام التشغيل Linux (Ubuntu وAzure Linux). ومع ذلك، لا تدعم جميع إصدارات نظام التشغيل تجمعات عقد CVM.

يتضمن هذا الجدول إصدارات نظام التشغيل المدعومة:

نوع نظام التشغيل رمز SKU لنِظام التشغيل دعم CVM CVM الافتراضي
Linux Ubuntu Supported أوبونتو 20.04 هو الافتراضي لإصدار كوبيرنتيز 1.24-1.33. أوبونتو 24.04 هو الافتراضي لإصدار كوبيرنتيز 1.34-1.38.
Linux Ubuntu2204 غير مدعوم لا يدعم AKS CVM ل Ubuntu 22.04.
Linux Ubuntu2404 Supported يتم دعم CVM في Kubernetes Ubuntu2404 1.32-1.38.
Linux AzureLinux مدعوم على Azure Linux 3.0 Azure Linux 3 هو الافتراضي عند تفعيل CVM لكوبيرنتيز الإصدار 1.28-1.36.
Linux flatcar غير مدعوم لا يدعم Flatcar Container Linux for AKS CVM.
Linux AzureLinuxOSGuard غير مدعوم لا يدعم Azure Linux المزود ب OS Guard for AKS CVM.
Linux AzureContainerLinux غير مدعوم لا يدعم Azure Container Linux (ACL) نظام CVM.
Windows جميع وحدات SKUs الخاصة بنظام Windows OS غير مدعوم غير متاح

عند استخدام Ubuntu أو AzureLinux ك، osSKUإذا لم يدعم إصدار نظام التشغيل الافتراضي CVMs، فإن AKS يفضل الإصدار الأحدث المدعوم من CVM من النظام. على سبيل المثال، Ubuntu 22.04 هو الافتراضي لتجمعات عقد Linux. نظرا لأن 22.04 لا يدعم حاليا وحدات CVM، فإن AKS يتبع أوبونتو 20.04 بشكل افتراضي لتجمع العقد المعتمدة على نظام لينكس CVM.

القيود

تنطبق القيود التالية عند إضافة تجمع عقدة مع CVM إلى AKS:

  • لا يمكنك استخدام FIPS أو ARM64 أو Trusted Launch أو Pod Sandboxing.
  • لا يمكنك تحديث تجمع عقد موجود للترحيل إلى حجم CVM. للترحيل، ستحتاج إلى تغيير حجم تجمع العقد.
  • لا يمكنك استخدام CVMs مع مجموعات عقد Windows.
  • أجهزة CVM مع Azure Linux حاليا في مرحلة المعاينة.
  • Azure Container Linux (ACL) لا يدعم حاليا مجموعات عقد CVM في AKS.

المتطلبات الأساسية

قبل البدء، تأكد من أن لديك ما يلي:

  • نظام مجموعة AKS الموجودة.
  • يجب أن تكون أحجام CVM متوفرة لاشتراكك في المنطقة التي تم فيها إنشاء نظام المجموعة. يجب أن يكون لديك حصة كافية لإنشاء تجمع عقدة بحجم CVM.
  • إذا كنت تستخدم نظام التشغيل Azure Linux، فأنت بحاجة إلى تثبيت الملحق aks-preview وتحديث الملحق aks-preview وتسجيل علامة ميزة المعاينة. إذا كنت تستخدم Ubuntu ، فيمكنك تخطي هذه الخطوات.

إذا كنت تستخدم Azure Linux

نماذج CVM لأوبونتو هي GA، لكن CVMs مع Azure Linux لا تزال في مرحلة المعاينة. إذا كنت ترغب في استخدام تجمعات عقد CVM مع Azure Linux كنظام تشغيل مفضل، تأكد من تفعيل الإضافة وتسجيل العلامة.

تثبيت aks-preview الملحق

  1. aks-preview تثبيت ملحق Azure CLI باستخدام az extension add الأمر .

    هام

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

    az extension add --name aks-preview
    
  2. قم بتحديث إلى أحدث إصدار من الملحق باستخدام az extension update الأمر .

    az extension update --name aks-preview
    

تسجيل AzureLinuxCVMPreview علامة الميزة

  1. تسجيل علامة الميزة AzureLinuxCVMPreview باستخدام az feature register الأمر .

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxCVMPreview"
    
  2. تحقق من حالة التسجيل باستخدام az feature show الأمر . يستغرق الأمر بضع دقائق حتى تظهر الحالة مُسجل.

    az feature show --namespace Microsoft.ContainerService --name AzureLinuxCVMPreview
    
  3. عندما تعكس الحالة Registered، قم بتحديث تسجيل Microsoft. مزود الموارد ContainerService باستخدام أمر az provider register.

    az provider register --namespace Microsoft.ContainerService
    

إضافة تجمع عقدة مع CVM إلى نظام مجموعة AKS الخاص بك

أضف تجمع عقدة مع CVM إلى نظام مجموعة AKS الخاص بك باستخدام az aks nodepool add الأمر وقم بتعيين حجم node-vm-sizeالجهاز الظاهري المدعوم.

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name cvmnodepool \
    --node-count 3 \
    --node-vm-size Standard_DC4as_v5 

إذا لم تحدد أو osSKUosType، يتم تعيين AKS افتراضيا إلى --os-type Linux و --os-sku Ubuntu.

ترقية مجموعة عقد موجودة ب CVM إلى أوبونتو 24.04

قم بترقية مجموعة عقد موجودة مع CVM إلى أوبونتو 24.04 من أوبونتو 20.04 باستخدام az aks nodepool update الأمر. اضبط ك os-skuUbuntu2404.

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name cvmnodepool \
    --os-sku Ubuntu2404

إشعار

يدعم تجمع العقد وهو أوبونتو 24.04 مع CVM من إصدار عنقود AKS 1.33. بالإضافة إلى ذلك، قبل أن يصبح أوبونتو 24.04 GA، يجب عليك تسجيل الميزة Ubuntu2404Preview . لمزيد من المعلومات، راجع here تسجيل الميزة.

تحقق من أن مجموعة العقد تستخدم CVMs

  1. تحقق من أن مجموعة العقد تستخدم CVMs باستخدام az aks nodepool show الأمر وتحقق من أن هو vmSizeStandard_DCa4_v5.

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    

    يظهر المثال التالي للأمر والمخرجات أن مجموعة العقد تستخدم CVMs:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'vmSize'
    
    "Standard_DC4as_v5"
    
  2. تحقق من أن تجمع عقدة يستخدم صورة CVM باستخدام az aks nodepool list الأمر.

    az aks nodepool list \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'nodeImageVersion'
    

    يوضح الأمر والإخراج المثال التالي أن تجمع العقدة يستخدم صورة Ubuntu 20.04 CVM:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name cvmnodepool \
        --query 'nodeImageVersion'
    
    "AKSUbuntu-2004cvmcontainerd-202507.02.0"
    

إزالة مجموعة عقد تحتوي على CVMs من عنقود AKS

قم بإزالة مجموعة العقد التي تحتوي على CVMs من عنقود AKS باستخدام az aks nodepool delete الأمر.

az aks nodepool delete \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name cvmnodepool

في هذا المقال، تعلمت كيفية إضافة تجمع عقد باستخدام CVMs إلى مجموعة AKS.