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.
Oturum havuzları, altsaniyeli oturum ayırma süreleri sağlar ve her oturumun yaşam döngüsünü yönetir.
Her iki havuz için de yaygın kavramlar
Havuz oluşturma işlemi, kod yorumlayıcı oturum havuzu mu yoksa özel kapsayıcı havuzu mu oluşturduğunuza bağlı olarak biraz farklıdır. Aşağıdaki kavramlar her ikisi için de geçerlidir.
Azure CLI kullanarak oturum havuzları oluşturmak için Azure CLI'nın ve Azure Container Apps uzantısının en son sürümlerine sahip olduğunuzdan emin olun:
# Upgrade the Azure CLI
az upgrade
# Install or upgrade the Azure Container Apps extension
az extension add --name containerapp --upgrade --allow-preview true -y
Yaygın oturum havuzu komutları şunlardır:
az containerapp sessionpool createaz containerapp sessionpool showaz containerapp sessionpool listaz containerapp sessionpool updateaz containerapp sessionpool delete
Kullanılabilir bağımsız değişkenleri ve desteklenen değerleri görmek için herhangi bir komutla kullanın --help .
Oturum havuzunun durumunu denetlemek için komutunu az containerapp sessionpool show kullanın:
az containerapp sessionpool show \
--name <SESSION_POOL_NAME> \
--resource-group <RESOURCE_GROUP> \
--query "properties.poolManagementEndpoint" \
--output tsv
Havuzu oluşturduğunuzda veya güncelleştirdiğinizde, en fazla eşzamanlı oturum sayısı, boşta bekleme süresi ve oturumlar için giden ağ trafiğine izin verilip verilmeyeceğini ayarlayabilirsiniz.
Önemli
Çıkışı etkinleştirirseniz oturumda çalıştırılan kod İnternet'e erişebilir. Koda güvenilmediğinde dikkatli olun çünkü hizmet reddi saldırıları gibi kötü amaçlı etkinlikleri gerçekleştirmek için kullanılabilir.
Önemli
Oturum güvenilmeyen kodu çalıştırmak için kullanılıyorsa, güvenilmeyen kodun erişmesini istemediğiniz bilgileri veya verileri eklemeyin. Kodun kötü amaçlı olduğunu ve kapsayıcıya ortam değişkenleri, gizli diziler ve dosyalar da dahil olmak üzere tam erişimi olduğunu varsayalım.
Havuz yapılandırma
Oturum havuzu yapılandırması için en son CLI bağımsız değişkenlerini görmek için kullanın az containerapp sessionpool create --help . Bu bölüm, API sürümleri arasında geçerli olan gelişmiş yapılandırma seçeneklerine odaklanır.
Oturum yaşam döngüsü yapılandırması
Bir oturum havuzu oluşturduğunuzda veya güncelleştirdiğinizde, ayarlayarak properties.dynamicPoolConfiguration.lifecycleConfigurationoturumların nasıl sonlandırıldığını yapılandırabilirsiniz. API sürümünden 2025-01-01başlayarak iki yaşam döngüsü türünden birini seçin.
TAM API belirtimi için bkz. SessionPools API belirtimi.
Zamanlanmış (varsayılan)
Yaşam döngüsü Timed ile, belli bir süre etkinlik olmadığında oturum silinir. Bir oturuma gönderilen herhangi bir istek, bekleme süresi zamanlayıcısını sıfırlayarak oturumun yaşam süresini cooldownPeriodInSeconds kadar uzatır.
Uyarı
Timed tüm oturum havuzu türleri için desteklenir ve önceki API sürümlerindekiyle aynı şekilde executionType: Timed çalışır.
{
"dynamicPoolConfiguration": {
"lifecycleConfiguration": {
"cooldownPeriodInSeconds": 600,
"lifecycleType": "Timed"
}
}
}
| Mülkiyet | Description |
|---|---|
cooldownPeriodInSeconds |
Bu süre için istek olmadığında oturum silinir. |
maxAlivePeriodInSeconds |
Yaşam döngüsü için Timed desteklenmez. |
Yönetim uç noktası
Önemli
Oturum tanımlayıcısı, değerini oluşturup yönetirken güvenli bir işlem gerektiren hassas bilgilerdir. Bu değeri korumak için uygulamanızın her kullanıcının veya kiracının yalnızca kendi oturumlarına erişimi olduğundan emin olması gerekir.
Oturumlara erişimin güvenliğinin sağlanamaması, kullanıcılarınızın oturumlarında depolanan verilere yanlış veya yetkisiz erişime neden olabilir. Daha fazla bilgi için bkz . Oturum tanımlayıcıları
Havuz yönetimi uç noktasına yapılan tüm istekler bir taşıyıcı jeton içeren Authorization üst bilgi bulundurmalıdır. Havuz yönetimi API'siyle kimlik doğrulaması yapmayı öğrenmek için bkz. Kimlik doğrulaması.
Her API isteğinin oturum kimliğine sahip sorgu dizesi parametresini identifier de içermesi gerekir. Bu benzersiz oturum kimliği, uygulamanızın belirli oturumlarla etkileşim kurmasını sağlar. Oturum tanımlayıcıları hakkında daha fazla bilgi edinmek için bkz. Oturum tanımlayıcıları.
Görüntü önbelleğe alma
Bir oturum havuzu oluşturulduğunda veya güncelleştirildiğinde, Azure Container Apps havuzdaki kapsayıcı görüntüsünü önbelleğe alır. Bu önbelleğe alma, yeni oturum oluşturma işlemini hızlandırmaya yardımcı olur.
Görüntüde yapılan değişiklikler oturumlara otomatik olarak yansıtılmaz. Görüntüyü güncelleştirmek için oturum havuzunu yeni bir görüntü etiketiyle güncelleştirin. Yeni görüntünün çekildiğinden emin olmak için her görüntü güncelleştirmesi için benzersiz bir etiket kullanın.
Kod yorumlayıcı oturum havuzu
az containerapps sessionpool create Havuzu oluşturmak için komutunu kullanın. Aşağıdaki örnek adlı my-session-poolbir Python kod yorumlayıcısı oturum havuzu oluşturur. komutunu çalıştırmadan önce öğesini kaynak grubu adınızla değiştirdiğinizden <RESOURCE_GROUP> emin olun.
az containerapp sessionpool create \
--name my-session-pool \
--resource-group <RESOURCE_GROUP> \
--location westus2 \
--container-type PythonLTS \
--max-sessions 100 \
--cooldown-period 300 \
--network-status EgressDisabled
Oturum havuzu oluştururken aşağıdaki ayarları tanımlayabilirsiniz:
| Setting | Description |
|---|---|
--container-type |
Kullanılacak kod yorumlayıcı türü. Desteklenen değerler , , PythonLTSNodeLTSve Shelldeğerlerini içerirCustomContainer. |
--max-sessions |
Eşzamanlı olarak izin verilen en fazla ayrılmış oturum sayısı. En büyük değer: 600. |
--cooldown-period |
Sonlandırmadan önce izin verilen boşta kalan saniye sayısı. Oturumun API'si her çağrıldığında boşta kalma süresi sıfırlanır. İzin verilen aralık 300 ile 3600 arasındadır. |
--network-status |
Oturumdan giden ağ trafiğine izin verilip verilmeyeceğini belirtir. Geçerli değerler EgressDisabled (varsayılan) ve EgressEnabled'dir. |
Kod yorumlayıcı yönetim uç noktası
LLM çerçevesi tümleştirmeleriyle veya doğrudan yönetim API'sinin uç noktalarını çağırarak kod yorumlayıcı oturumlarını kullanmak için havuzun yönetim API'sinin uç noktası gerekir.
Endpoint şu formatta bulunmaktadır: https://<REGION>.dynamicsessions.io/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/sessionPools/<SESSION_POOL_NAME>.
Bir oturum havuzunun yönetim API'sinin uç noktasını almak için örnek bir komut için yukarıdaki ortak bölüme bakın.
Havuzdaki oturumları yönetmek için aşağıdaki uç noktalar kullanılabilir:
| Uç nokta yolu | Yöntem | Description |
|---|---|---|
code/execute |
POST |
Bir oturumda kod yürütün. |
files/upload |
POST |
Oturuma dosya yükleme. |
files/content/{filename} |
GET |
Oturumdan dosya indirin. |
files |
GET |
Oturumdaki dosyaları listeleme. |
Havuzun yönetim API'si uç noktasını uç nokta yolu ile birleştirerek her uç nokta için tam URL oluşturursunuz. Sorgu dizesi oturum tanımlayıcısını içeren bir identifier parametre ve değerine api-versionsahip bir 2024-02-02-preview parametre içermelidir. API sürümleri değişebilir, bu nedenle üretimde kullanmadan önce her zaman REST API belgelerindeki en son sürümü onaylayın.
Örneğin: {sessionManagementEndpoint}/code/execute?api-version=2024-02-02-preview&identifier=<IDENTIFIER>
REST API başvuruları için bkz. Container Apps veri düzlemi API'leri ve Container Apps veri düzlemi işlemlerine genel bakış.
Özel kapsayıcı oturum havuzu
Özelleştirilmiş kapsayıcı oturum havuzu oluşturmak için bir kapsayıcı görüntüsü ve havuz yapılandırma ayarlarını sağlamanız gerekir.
HTTP isteklerini kullanarak her oturumu çağırır veya bunlarla iletişim kurarsınız. Özel kapsayıcı, bu istekleri yanıtlamak için belirttiğiniz bir bağlantı noktasında bir HTTP sunucusunu kullanıma sunmalıdır.
Aşağıdaki özellikler yalnızca özel kapsayıcı oturumu havuzları için geçerlidir.
Özel kapsayıcı yönetimi uç noktası
Özel kapsayıcı oturumu havuzları için Yönetim uç noktasını Azure portalından veya Azure CLI çıkışından alın. Uç nokta poolManagementEndpoint olarak döndürülür.
Endpoint şu formatta bulunmaktadır: https://<SESSION_POOL_NAME>.<ENVIRONMENT_ID>.<REGION>.azurecontainerapps.io.
OnContainerExit
Yaşam döngüsü süreciyle OnContainerExit birlikte, kapsayıcı kendi kendine çıkana veya maksimum canlı kalma süresine ulaşılana kadar oturum etkin kalır.
{
"dynamicPoolConfiguration": {
"lifecycleConfiguration": {
"maxAlivePeriodInSeconds": 6000,
"lifecycleType": "OnContainerExit"
}
}
}
| Mülkiyet | Description |
|---|---|
maxAlivePeriodInSeconds |
Silinmeden önce oturumun etkin kalabileceği maksimum süre. |
cooldownPeriodInSeconds |
Yaşam döngüsü için OnContainerExit desteklenmez. |
Kapsayıcı sınamaları
Oturum kapsayıcıları için sağlık kontrolleri tanımlamanıza olanak tanıyan kapsayıcı yoklamaları, havuzun sağlıksız oturumları algılayıp onları değiştirerek readySessionInstances hedefi iyi durumda tutmasını sağlar.
Oturum havuzları Canlılık ve Başlangıç yoklamalarını destekler. Daha fazla bilgi için prob davranışıyla ilgili bkz. Azure Container Apps'te sağlık probları.
Oturum havuzu oluştururken veya güncelleştirirken yoklamaları properties.customContainerTemplate.containers içinde belirtin. İstek gövdesi şemasının tamamı için SessionPools Oluşturma veya Güncelleştirme API referansı'na bakın. Aşağıdaki örnekte yoklama tanımlarıyla kısmi bir yapılandırma gösterilmektedir:
{
"properties": {
"customContainerTemplate": {
"containers": [
{
"name": "my-session-container",
"image": "myregistry.azurecr.io/my-session-image:latest",
"probes": [
{
"type": "Liveness",
"httpGet": {
"path": "/health",
"port": 8080
},
"periodSeconds": 10,
"failureThreshold": 3
},
{
"type": "Startup",
"httpGet": {
"path": "/ready",
"port": 8080
},
"periodSeconds": 5,
"failureThreshold": 30
}
]
}
]
},
"dynamicPoolConfiguration": {
"readySessionInstances": 5
}
}
}
Özel kapsayıcı oturum havuzları, iş yükü profilleri etkinleştirilmiş bir Azure Container Apps ortamı gerektirir. Ortamınız yoksa, bir tane oluşturmak için az containerapp env create -n <ENVIRONMENT_NAME> -g <RESOURCE_GROUP> --location <LOCATION> komutunu kullanın.
az containerapp sessionpool create komutunu özel bir kapsayıcı oturum havuzu oluşturmak için kullanın.
Aşağıdaki örnek, özel kapsayıcı görüntüsüyle my-session-pooladlı myregistry.azurecr.io/my-container-image:1.0 bir oturum havuzu oluşturur.
İsteği göndermeden önce köşeli ayraçlar arasındaki <> yer tutucuları oturum havuzunuz ve oturum tanımlayıcınız için uygun değerlerle değiştirin.
az containerapp sessionpool create \
--name my-session-pool \
--resource-group <RESOURCE_GROUP> \
--environment <ENVIRONMENT> \
--registry-server myregistry.azurecr.io \
--registry-username <USER_NAME> \
--registry-password <PASSWORD> \
--container-type CustomContainer \
--image myregistry.azurecr.io/my-container-image:1.0 \
--cpu 0.25 --memory 0.5Gi \
--target-port 80 \
--cooldown-period 300 \
--network-status EgressDisabled \
--max-sessions 10 \
--ready-sessions 5 \
--env-vars "key1=value1" "key2=value2" \
--location <LOCATION>
Bu komut aşağıdaki ayarlarla bir oturum havuzu oluşturur:
| Parametre | Değer | Description |
|---|---|---|
--name |
my-session-pool |
Oturum havuzunun adı. |
--resource-group |
my-resource-group |
Oturum havuzunu içeren kaynak grubu. |
--environment |
my-environment |
Kapsayıcı uygulamasının ortamının adı veya kaynak kimliği. |
--container-type |
CustomContainer |
Oturum havuzunun container türü. Özel kapsayıcı oturumları için olmalıdır CustomContainer . |
--image |
myregistry.azurecr.io/my-container-image:1.0 |
Oturum havuzu için kullanılacak kapsayıcı görüntüsü. |
--registry-server |
myregistry.azurecr.io |
Kapsayıcı kayıt defteri sunucusu ana bilgisayar adı. |
--registry-username |
my-username |
Kapsayıcı kayıt defterinde oturum açmak için kullanılan kullanıcı adı. |
--registry-password |
my-password |
Kapsayıcı kayıt defterinde oturum açma parolası. |
--cpu |
0.25 |
Gerekli CPU çekirdek sayısı. |
--memory |
0.5Gi |
Gerekli bellek. |
--target-port |
80 |
Giriş trafiği için kullanılan oturum bağlantı noktası. |
--cooldown-period |
300 |
Oturumun sonlandırılmadan önce boşta bulunabileceği saniye sayısı. Oturumun API'si her çağrıldığında boşta kalma süresi sıfırlanır. Değer, 300 ile 3600 arasında olmalıdır. |
--network-status |
EgressDisabled |
Oturumdan giden ağ trafiğine izin verilip verilmeyeceğini belirtir. Geçerli değerler EgressDisabled (varsayılan) ve EgressEnabled'dir. |
--max-sessions |
10 |
Aynı anda ayrılabilecek en fazla oturum sayısı. |
--ready-sessions |
5 |
Oturum havuzunda her zaman hazır olan hedef oturum sayısı. Oturumlar, havuz yenilendiğinden daha hızlı tahsis edilirse bu sayıyı artırın. |
--env-vars |
"key1=value1" "key2=value2" |
Kapsayıcıda ayarlanacağı ortam değişkenleri. |
--location |
"Supported Location" |
Oturum havuzunun konumu. |
Oturum havuzunu güncelleştirmek için komutunu kullanın az containerapp sessionpool update .