चरण 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 का उपयोग कर रहे हैं, तो आपको यह चाहिए होगा:
objectIdappIdtenantIdclientSecret
ये सभी 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}"