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.
  • Azure Container Linux (ACL) لا يدعم حاليا مجموعات عقد CVM في AKS.

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

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

  • نظام مجموعة AKS الموجودة.
  • يجب أن تكون أحجام CVM متوفرة لاشتراكك في المنطقة التي تم فيها إنشاء نظام المجموعة. يجب أن يكون لديك حصة كافية لإنشاء تجمع عقدة بحجم CVM.

إضافة تجمع عقدة مع 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 يستخدم Azure Linux، قم بتعيين --os-sku AzureLinux.

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

ترقية مجموعة عقد موجودة ب 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

تحقق من أن مجموعة العقد تستخدم 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.