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ı'nı kullanarak Azure Kubernetes Service (AKS) uygulamalarınızı Azure OpenAI'ye nasıl bağlayacağınız gösterilmektedir. Azure OpenAI ile iletişim kuran örnek bir Python uygulaması dağıtarak kimlik bilgisi olmayan bağlantılar kuracaksınız.
Aşağıdaki görevleri tamamlayacaksınız:
- GPT-4 modeliyle AKS kümesi ve Azure OpenAI kaynağı oluşturma
- İş yükü kimliğiyle bağlantı kurmak için Hizmet Bağlayıcısı'nı yapılandırma
- Örnek uygulamayı kopyalama
- Kapsayıcı görüntülerini derleme ve Azure Container Registry'ye gönderme
- Uygulamayı AKS'ye dağıtma ve bağlantıyı doğrulama
- Kaynakları temizleme
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
-
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile 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'da kimlik doğrulaması.
İ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ü sürümü ve bağımlı kitaplıkları 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.
- Azure OpenAI kaynakları oluşturmak ve modelleri dağıtmak 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-keysaz aks get-credentials komutunu kullanarak kümeye bağlanın .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusteraz cognitiveservices account create komutunu 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ğlanacağı hedef hizmettir.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --subscription <SubscriptionID>az cognitiveservices deployment create komutuyla bir model 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 create komutunu 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 az acr update komutunu kullanarak anonim çekmeyi etkinleştirin.
az acr update \ --resource-group MyResourceGroup \ --name myregistry \ --anonymous-pull-enabledaz identity create komutuyla veya bu öğreticiye baş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 AKS kümesi ile Azure OpenAI arasında bir 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. Abonelik 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 bağlantı dizesi ve hizmet sorumlusu bulunur ve kimlik bilgisi yönetimiyle ilgili dikkat edilmesi gerekenler gerekir. |
| Abonelik | 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ümesi için iş yükü kimliği kimlik 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-identityDosyadaki
<MyModel>yer tutucuyuapp.pydağıtılan model adıyla değiştirin.
Kapsayıcı görüntülerini derleme ve Azure Container Registry'ye gönderme
Azure CLI az acr build komutunu 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 ./az acr repository list komutunu kullanarak kapsayıcı kayıt defterinizdeki görüntüleri görüntüleyin.
az acr repository list --name myregistry --output table
AKS'yi Azure OpenAI bağlantısına dağıtma ve test etme
klasöründeki dosyadaki
pod.yamlazure-openai-workload-identityyer tutucuları değiştirin.- değerini daha önce oluşturduğunuz görüntünün adıyla değiştirin
<YourContainerImage>. Örneğin<myregistry>.azurecr.io/<sc-demo-openai-identity>:<latest>. - değerini hizmet hesabı adıyla değiştirin
<ServiceAccountCreatedByServiceConnector>. Azure portalında , Hizmet Bağlayıcısı bölmesinde bulunabilir. - yerine
<SecretCreatedByServiceConnector>gizli dizi adını yazın. Azure portalında , Hizmet Bağlayıcısı bölmesinde bulunabilir.
- değerini daha önce oluşturduğunuz görüntünün adıyla değiştirin
AKS kümenizin varsayılan ad alanında adlı
kubectl applybir pod oluşturan komutuylasc-demo-openai-identitypodu kümenize dağıtın. Yüklükubectldeğilse az aks install-cli komutunu kullanarak yerel olarak yükleyin.kubectl apply -f pod.yamlpodunu ile
kubectlgörüntüleyerek dağıtımın başarılı olup olmadığını denetleyin.kubectl get pod/sc-demo-openai-identityile günlükleri
kubectlgörüntüleyerek 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