Migrate to Key Management Service (KMS) v2 in Azure Kubernetes Service (AKS) (legacy)

هام

تنطبق هذه المقالة على العناقيد التي تستخدم تجربة KMS القديمة والتي تحتاج إلى الانتقال من KMS v1 إلى KMS v2. بالنسبة للعناقيد التي تعمل بإصدار Kubernetes 1.33 أو أحدث، نوصي باستخدام تجربة تشفير بيانات KMS الجديدة، التي تقدم مفاتيح تدار من المنصة، ومفاتيح تديرها العملاء مع تدوير تلقائي للمفاتيح، وتجربة تكوين مبسطة.

في هذه المقالة، ستتعلم كيفية الترحيل إلى KMS v2 للمجموعات ذات الإصدارات الأقدم من 1.27. بدءا من الإصدار 1.27 من AKS، يؤدي تشغيل ميزة KMS إلى تكوين KMS v2. مع KMS v2 ، لا تقتصر على 2,000 سر تدعمها الإصدارات السابقة. لمزيد من المعلومات، راجع تحسينات KMS v2.

هام

إذا كان إصدار نظام المجموعة الخاص بك أقدم من 1.27 وقمت بالفعل بتشغيل KMS، حظر الترقية إلى إصدار نظام المجموعة 1.27 أو أحدث.

إيقاف KMS

  1. قم بتعطيل KMS على نظام مجموعة موجود باستخدام az aks update الأمر الذي يحتوي على المعلمة --disable-azure-keyvault-kms .

    az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --disable-azure-keyvault-kms
    
  2. قم بتحديث جميع الأسرار باستخدام الأمر kubectl get secrets للتأكد من أن الأسرار التي تم إنشاؤها مسبقا لم تعد مشفرة. بالنسبة للمجموعات الأكبر حجما، قد ترغب في تقسيم الأسرار حسب مساحة الاسم أو إنشاء برنامج نصي للتحديث. إذا فشل الأمر السابق لتحديث KMS ، فاستمر في تشغيل الأمر التالي لتجنب الحالة غير المتوقعة للمكون الإضافي KMS.

    kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    

    عند تشغيل الأمر، يكون من الآمن تجاهل الخطأ التالي:

    The object has been modified; please apply your changes to the latest version and try again.
    

ترقية نظام مجموعة AKS الخاص بك وتشغيل KMS

  1. قم بترقية نظام مجموعة AKS الخاص بك إلى الإصدار 1.27 أو أحدث باستخدام az aks upgrade الأمر مع --kubernetes-version تعيين المعلمة إلى الإصدار الذي تريده. المثال التالي يقوم بالترقية إلى الإصدار 1.27.1:

    az aks upgrade --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --kubernetes-version 1.27.1
    
  2. بمجرد اكتمال الترقية، يمكنك تشغيل KMS لمخزن مفاتيح عام أو خاص باستخدام أحد الموارد التالية:

  3. قم بتحديث جميع الأسرار باستخدام الأمر kubectl get secrets للتأكد من أن الأسرار التي تم إنشاؤها مسبقا لم تعد مشفرة. بالنسبة للمجموعات الأكبر حجما، قد ترغب في تقسيم الأسرار حسب مساحة الاسم أو إنشاء برنامج نصي للتحديث. إذا فشل الأمر السابق لتحديث KMS ، فاستمر في تشغيل الأمر التالي لتجنب الحالة غير المتوقعة للمكون الإضافي KMS.

    kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    

    عند تشغيل الأمر، يكون من الآمن تجاهل الخطأ التالي:

    The object has been modified; please apply your changes to the latest version and try again.
    

الخطوات التالية

لمزيد من المعلومات حول استخدام KMS مع AKS، راجع المقالات التالية: