Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, iş yükü kimliğini kullanarak bir Azure Depolama hesabını Azure Kubernetes Service (AKS) kümesindeki bir pod'a bağlamak için Service Connector'ı kullanmayı öğreneceksiniz. Aşağıdaki görevleri tamamlarsınız:
- AKS kümesi ve Azure Depolama hesabı oluşturun.
- Hizmet Bağlayıcısı'nı kullanarak AKS kümesi ile Azure Depolama hesabı arasında bir bağlantı oluşturun.
- AKS kümesinden Azure Depolama hesabına bağlanan örnek bir uygulamayı kopyalayın.
- Uygulamayı AKS kümesindeki bir pod'a dağıtın ve bağlantıyı test edin.
- Kaynakları temizleyin.
Önkoşullar
- Kapsayıcılar, iş yükü kimliği ve AKS hakkında temel bilgiler. Daha fazla bilgi için bkz. Tutorial: Azure Kubernetes Service (AKS) için uygulama hazırlama.
- Azure kaynak yazma izinlerine sahip olduğunuz, "Hizmet Bağlayıcıyı destekleyen" ve öğreticiyi çalıştırmak için yeterli "AKS desteği ve işlem kotasına" sahip Azure bölgesinde bir Azure aboneliği. Ücretsiz hesap oluşturun.
- Azure aboneliğinde kayıtlı
Microsoft.ServiceLinker,Microsoft.ContainerService,Microsoft.ContainerRegistryveMicrosoft.ManagedIdentitykaynak sağlayıcıları. Sağlayıcıları kaydetmek içinaz provider register -n Microsoft.[service]çalıştırabilirsiniz. - Örnek depoya erişmek ve bu depoyu kopyalamak için Git.
- Kapsayıcı görüntüsünü ve Kubernetes kaynaklarını yönetmek için Docker ve kubectl yüklendi. komutunu çalıştırarak
kubectlyerel olarak yükleyinaz aks install-cli. - Azure CLI yüklendi.
Azure kaynakları oluşturma
az login komutunu çalıştırıp istemleri izleyerek Azure oturum açın.
Bu öğreticide kullanmak üzere Azure kaynak grubu oluşturun ve
<region>yer tutucusunu geçerli bir değerle değiştirin.location, aboneliğinizin Azure kaynakları için yeterli işlem kotası olduğu ve hizmetlerin hiçbirinde kısıtlama olmadığı Azure bir bölge olmalıdır.az group create \ --name MyResourceGroup \ --location <region>Aşağıdaki komutu çalıştırarak hizmet bağlantısını, pod tanımını ve örnek uygulamayı içerecek bir AKS kümesi oluşturun. Daha fazla bilgi için bkz. Quickstart: Azure CLI kullanarak Azure Kubernetes Service (AKS) kümesi dağıtma.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1Aşağıdaki komutu çalıştırarak kümeye bağlanın.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterAKS kümesinin bağlanacağı ve örnek uygulamanın etkileşim kurduğu hedef hizmet olmak için bir Azure Depolama hesabı oluşturun. Daha fazla bilgi için bkz. Azure depolama hesabı oluşturma.
<storageaccountname>'yı, 3 ila 24 karakter arasında olan ve yalnızca küçük harf veya rakamlardan oluşan, Azure genelinde benzersiz bir adla değiştirerek aşağıdaki komutu çalıştırın.az storage account create \ --resource-group MyResourceGroup \ --name <storageaccountname> \ --sku Standard_LRSAKS pod tanımı tarafından kullanılan uygulama kapsayıcı görüntüsünü barındırmak için bir Azure kapsayıcı kayıt defteri oluşturun. Daha fazla bilgi için bkz. Quickstart: Azure portalını kullanarak Azure kapsayıcı kayıt defteri oluşturma. Aşağıdaki komutu,
<registryname>yerine Azure üzerinde benzersiz olan, 5-50 küçük harf veya sayı içeren bir adla değiştirerek çalıştırın.az acr create \ --resource-group MyResourceGroup \ --name <registryname> \ --sku StandardAKS kümesinin kayıt imajlarına erişebilmesi için anonim çekmeyi etkinleştirin. Yer tutucuyu
<registryname>kayıt defteri adınızla değiştirin.az acr update \ --resource-group MyResourceGroup \ --name <registryname> \ --anonymous-pull-enabledAşağıdaki komutu çalıştırarak hizmet bağlantısı oluşturma işleminin AKS iş yükleri için iş yükü kimliğini etkinleştirmek için kullanabileceği kullanıcı tarafından atanan bir yönetilen kimlik oluşturun. Daha fazla bilgi için bkz. Azure portalını kullanarak kullanıcı tarafından atanan yönetilen kimlikleri yönetme.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Service Connector kullanarak hizmet bağlantısı oluşturma
Azure CLI veya Azure portalını kullanarak AKS kümesi ile Azure Depolama hesabı arasında bir hizmet bağlantısı oluşturun.
Azure depolama hesabına hizmet bağlantısı oluşturmak için aşağıdaki Azure CLI komutunu çalıştırın.
<storageaccountname> değerini depolama hesabı adınızla ve <user-identity-resource-id> kullanıcı tarafından atanan yönetilen kimlik kaynak kimliğinizle değiştirin.
Kullanıcı tarafından atanan yönetilen kimlik kaynak kimliğinizi önceki az identity create komutunun çıkışından alabilir veya /subscriptions/<subscription-id>/resourceGroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyIdentity biçimini kullanabilirsiniz.
az aks connection create storage-blob \
--resource-group MyResourceGroup \
--name MyAKSCluster \
--target-resource-group MyResourceGroup \
--account <storageaccountname> \
--workload-identity <user-identity-resource-id>
Bağlantı oluşturulduktan sonra, Azure portalı Hizmet Bağlayıcısı sayfası yeni bağlantı hakkındaki bilgileri gösterir. Bu öğreticinin devamında pod.yaml dosyasını düzenlerken bu bilgileri kullanabilirsiniz.
Örnek uygulamayı oluşturma
Örnek depoyu kopyalayın ve ardından örnek uygulamayı içeren dizine geçin. Bu klasörden kalan komutları çalıştırın.
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git cd serviceconnector-aks-samples/azure-storage-workload-identitykomutunu kullanarak
az acr buildgörüntüleri derleyin ve kapsayıcı kayıt defterinize gönderin. Yer tutucuyu<registryname>kayıt defteri adınızla değiştirin.az acr build --registry <registryname> --image sc-demo-storage-identity:latest ./komutunu kullanarak
az acr repository listkapsayıcı kayıt defterinizdeki görüntüyü görüntüleyin. Yer tutucuyu<registryname>kayıt defteri adınızla değiştirin.az acr repository list --name <registryname> --output table
Uygulamayı çalıştırma ve bağlantıyı test edin
Yerel uygulama klasörünüzdeki pod.yaml dosyasında aşağıdaki yer tutucuları değiştirin:
-
<YourContainerImage>: değerini kapsayıcı kayıt defterinizdeki görüntü adıyla değiştirin, örneğin<registryname>.azurecr.io/sc-demo-storage-identity:latest. -
<ServiceAccountCreatedByServiceConnector>: Bağlantı oluşturulduktan sonra oluşturulan Hizmet Bağlayıcı hizmet hesabı ile değiştirin. hizmet hesabı adını Azure portalındaki AKS kümesi Hizmet Bağlayıcısı sayfanızda de kontrol edebilirsiniz. -
<SecretCreatedByServiceConnector>: Bağlantı oluşturulduktan sonra oluşturulan gizli Hizmet Bağlayıcısı ile değiştirin. hizmet hesabı adını Azure portalındaki AKS kümesi Hizmet Bağlayıcısı sayfanızda de kontrol edebilirsiniz.
-
kubectl applykullanarak pod'u kümenize dağıtın. komutu, AKS kümenizin varsayılan ad alanında adlısc-demo-storage-identitybir pod oluşturur.kubectl apply -f pod.yamlkullanarak
kubectlpodu görüntüleyerek dağıtımın başarılı olup olmadığını denetleyin.kubectl get pod/sc-demo-storage-identityBağlantının kurulduğunu kontrol etmek için
kubectlkullanarak günlükleri görüntüleyin.kubectl logs pod/sc-demo-storage-identity
Kaynakları temizleme
Bu öğretici için oluşturduğunuz Azure kaynaklarına artık ihtiyacınız yoksa, MyResourceGroup kaynak grubunu silerek bunları silebilirsiniz.
az group delete \
--resource-group MyResourceGroup