मुख्य सामग्री पर जाएँ

चरण 4 - अपने AKS cluster को Key Vault तक पहुँच सक्षम करें

प्रमाणीकरण के लिए दो तरीके हैं; जो आप पर लागू होता है उसे चुनें:

  • 4A - Managed identity (अनुशंसित)
  • 4B - Service principal
    • इस विधि का उपयोग केवल तभी करें जब आपके cluster में managed identities उपलब्ध न हों या वांछित न हों।

4A - Managed identity

यदि आपका AKS cluster managed identities के साथ नहीं बनाया गया था, तो इसे इस प्रकार जोड़ा जा सकता है:

az aks update -g "${rgp}" -n "${aksname}" --enable-managed-identity

Key Vault secrets को Kubernetes secrets के साथ sync करने के लिए, AKS kubelet identity को Key Vault पर get और list access की आवश्यकता होती है।

  • पहले, kubelet identity का object ID प्राप्त करें:
az aks show -g "${rgp}" -n "${aksname}"

यह एक बड़ा JSON response लौटाएगा। स्क्रॉल करें जब तक आपको यह न मिल जाए:

identityProfile → kubeletidentity → objectId

  • अब Key Vault पर access permissions सेट करें:
az keyvault set-policy --name "${kvname}" --object-id "${objectid}" --secret-permissions get list

4B - Service principal

यदि आप service principal का उपयोग कर रहे हैं, तो आपको यह चाहिए होगा:

  • objectId
  • appId
  • tenantId
  • clientSecret

ये सभी Azure Active Directory में मिल सकते हैं।

az keyvault set-policy --name "${kvname}" --object-id "${objectid}" --secret-permissions get list
  • Kubernetes secret बनाएँ:
kubectl create secret generic keyvault-service-principal \
--from-literal=ClientID="${appid}" \
--from-literal=ClientSecret="${clientsecret}"