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ü kimlik doğrulamasıyla Hizmet Bağlayıcısı kullanarak Azure Kubernetes Service (AKS) uygulamalarınızı OpenAI'Azure nasıl bağlayacağınız gösterilmektedir. Ardından, Azure OpenAI ile iletişim kuran bir örnek Python uygulaması dağıtarak kimlik bilgisi olmayan bağlantılarınızı oluşturup test edebilirsiniz.
Bu eğitimde, siz:
- AKS kümesi ve GPT-4 modeli içeren bir Azure OpenAI kaynağı oluşturun.
- İş yükü kimliğiyle bağlantı kurmak için Hizmet Bağlayıcısı'nı yapılandırın.
- Örnek bir uygulamayı kopyalayın.
- Kapsayıcı görüntülerini derleyin ve Azure Container Registry gönderin.
- Uygulamayı AKS'ye dağıtın ve bağlantıyı doğrulayın.
- Kaynakları temizleyin.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
-
bash ortamını Azure Cloud Shell kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell ile çalışmaya başlama.
CLI referans komutlarını yerel olarak çalıştırmayı tercih ediyorsanız, Azure CLI'yi yükleyin. Windows veya macOS üzerinde çalıştırıyorsanız Azure CLI Docker kapsayıcısında çalıştırmayı göz önünde bulundurun. Daha fazla bilgi için bkz. Docker kapsayıcısında Azure CLI çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'a Kimlik Doğrulama.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma ve yönetme.
Yüklü olan sürümü ve bağımlı kütüphaneleri bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
- Kapsayıcı görüntülerini ve Kubernetes kaynaklarını yönetmek için Docker ve kubectl.
- Kapsayıcılar ve AKS hakkında temel bilgiler. AKS için uygulama hazırlamaya başlayın.
- OpenAI kaynaklarını Azure oluşturma ve modelleri dağıtma için erişim izinleri.
Azure OpenAI ve AKS kaynakları oluşturma
Bu öğreticiyi birkaç Azure kaynağı oluşturarak başlatırsınız.
Bu öğretici için bir kaynak grubu oluşturun.
az group create \ --name MyResourceGroup \ --location eastusAşağıdaki komutla veya AKS hızlı başlangıcına başvurarak bir AKS kümesi oluşturun. Bu öğreticide hizmet bağlantısını ve pod tanımını oluşturacak ve örnek uygulamayı bu kümeye dağıtacağız.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 \ --generate-ssh-keyskomutunu kullanarak kümeye bağlanın
az aks get-credentials.az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusteraz cognitiveservices account createkomutunu kullanarak bir Azure OpenAI kaynağı oluşturun. Daha fazla yönerge için isteğe bağlı olarak bu öğreticiye bakın. Azure OpenAI, AKS kümesinin bağlandığını hedef hizmettir.az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --subscription <SubscriptionID>Bir modeli,
az cognitiveservices deployment createkomutu ile dağıtın. Model, bağlantıyı test etmek için örnek uygulamada kullanılır.az cognitiveservices account deployment create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --deployment-name MyModel \ --model-name gpt-4 \ --model-version 0613 \ --model-format OpenAI \ --sku-name "Standard" \ --capacity 1Kapsayıcılı örnek uygulamayı depolamak için bir Azure Container Registry (ACR) oluşturun.
az acr createkomutunu kullanın veya bu öğreticiye bakın.az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku StandardAKS kümesinin kayıt defterindeki görüntüleri kullanabilmesi için anonim çekmeyi `
az acr update` komutunu kullanarak etkinleştirin.az acr update \ --resource-group MyResourceGroup \ --name myregistry \ --anonymous-pull-enabledkomutuyla veya
az identity createbaşvurarak kullanıcı tarafından atanan bir yönetilen kimlik oluşturun. Bağlantı oluşturulduğunda, AKS iş yükleri için iş yükü kimliğini etkinleştirmek için kullanıcı tarafından atanan yönetilen kimlik kullanılır.az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
AKS'den Azure OpenAI'ye hizmet bağlantısı oluşturma
Azure portalında veya Azure CLI'da bir AKS kümesi ile Azure OpenAI arasında hizmet bağlantısı oluşturun.
Yeni bağlantı oluşturma yönergeleri için AKS hizmet bağlantısı hızlı başlangıcına bakın ve aşağıdaki tabloda yer alan örneklere başvuran ayarları doldurun. Diğer tüm ayarları varsayılan değerleriyle bırakın.
Temel bilgiler sekmesi:
Ayar Örnek değer Açıklama Kubernetes ad alanı varsayılan Kubernetes ad alanı. Hizmet türü OpenAI Hizmeti Hedef hizmet türü. Bağlantı adı openai_conn Hizmet Bağlayıcısı tarafından sağlanan bağlantı adını kullanın veya kendi bağlantı adınızı seçin. Subscription Aboneliğim Azure OpenAI kaynağınızı içeren Azure aboneliği. OpenAI MyOpenAI Bağlanmak istediğiniz hedef Azure OpenAI kaynağı. İstemci türü Python Bağlantı yapılandırması için programlama dili veya çerçevesi. Kimlik doğrulama sekmesi:
Kimlik Doğrulama Ayarı Örnek değer Açıklama Kimlik doğrulaması türü İş Yükü Kimliği Uygulamayı Azure OpenAI'ye bağlamak için kimlik doğrulama yöntemi. gelişmiş güvenlik için iş yükü kimliği önerilir. Alternatif yöntemler arasında connection string ve hizmet ilkesi kullanımı bulunur ve kimlik bilgisi yönetimi konuları dikkate alınmalıdır. Subscription Aboneliğim Kullanıcı tarafından atanan yönetilen kimliği içeren abonelik. Kullanıcı tarafından atanan yönetilen kimlik MyIdentity AKS kümesinde iş yükü kimliği doğrulamasını etkinleştiren, kullanıcı tarafından atanan yönetilen kimlik.
Bağlantı oluşturulduktan sonra ayrıntılarını Hizmet Bağlayıcısı bölmesinde görüntüleyebilirsiniz.
Python örnek uygulamasını kopyalama
Örnek depoyu kopyalayın:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitAzure OpenAI için deponun örnek klasörüne gidin:
cd serviceconnector-aks-samples/azure-openai-workload-identity<MyModel>dosyasındakiapp.pyyer tutucuyu dağıttığımız model adıyla değiştirin.
Kapsayıcı görüntülerini oluşturma ve Azure Container Registry gönderme
Azure CLI
az acr buildkomutunu kullanarak görüntüleri derleyin ve kapsayıcı kayıt defterinize gönderin.az acr build --registry myregistry --image sc-demo-openai-identity:latest ./komutunu kullanarak
az acr repository listkapsayıcı kayıt defterinizdeki görüntüleri görüntüleyin.az acr repository list --name myregistry --output table
Azure OpenAI bağlantısına AKS dağıtımını ve testini gerçekleştirme
pod.yamlklasöründekiazure-openai-workload-identitydosyasındaki yer tutucuları değiştirin.-
<YourContainerImage>'i, daha önce oluşturduğunuz görüntünün adıyla değiştirin. Örneğin,<myregistry>.azurecr.io/<sc-demo-openai-identity>:<latest>. -
<ServiceAccountCreatedByServiceConnector>değerini hizmet hesabı adıyla değiştirin. Azure portalında, Service Connector bölmesinde bulunabilir. -
<SecretCreatedByServiceConnector>yerine gizli adı yazın. Azure portalında, Service Connector bölmesinde bulunabilir.
-
kubectl applykomutunu kullanaraksc-demo-openai-identityadlı podu, AKS kümenizin varsayılan ad alanında dağıtın. Eğerkubectlyüklü değilse,az aks install-clikomutunu kullanarak yerel olarak yükleyin.kubectl apply -f pod.yamlDağıtımın başarılı olup olmadığını kontrol etmek için podu
kubectlile görüntüleyin.kubectl get pod/sc-demo-openai-identityGünlükleri
kubectlkullanarak görüntüleyip bağlantının kurulduğunu denetleyin.kubectl logs pod/sc-demo-openai-identity
Kaynakları temizleme
Bu öğreticide oluşturulan kaynaklara artık ihtiyacınız yoksa kaynak grubunu silerek bunları temizleyin.
az group delete \
--resource-group MyResourceGroup