Azure Container Apps Önizlemesinde Kapsayıcılar
Azure Container Apps, Kubernetes ve kapsayıcı düzenlemelerinin ayrıntılarını sizin için yönetir. Azure Container Apps'te kapsayıcılar herhangi bir çalışma zamanı, programlama dili veya geliştirme yığınını tercih edebilirsiniz.
Azure Container Apps şunları destekler:
- Linux tabanlı herhangi bir kapsayıcı görüntüsü
- Herhangi bir genel veya özel kapsayıcı kayıt defterindeki kapsayıcılar
Ek özellikler şunlardır:
- Gerekli temel kapsayıcı görüntüsü yoktur.
- ARM yapılandırması bölümünde
templateyapılan değişiklikler yeni bir kapsayıcı uygulaması düzeltmesi tetikler. - Bir kapsayıcı kilitlenirse otomatik olarak yeniden başlatılır.
Yapılandırma
Aşağıdaki örnek yapılandırma, bir kapsayıcıyı ayarlarken kullanılabilen seçenekleri gösterir.
{
...
"template": {
"containers": [
{
"image": "myacr.azurecr.io/myrepo/api-service:v1",
"name": "my-container-image",
"command": ["/bin/queue"],
"args": [],
"env": [
{
"name": "HTTP_PORT",
"value": "8080"
}
],
"resources": {
"cpu": 1,
"memory": "250Mb"
}
}]
}
}
| Ayar | Açıklama | Açıklamalar |
|---|---|---|
image |
Kapsayıcı uygulamanıza göre kapsayıcı görüntüsü adı. | Bu değer, repository/image-name:tag şeklindedir. |
name |
Kapsayıcının kolay adı. | Raporlama ve tanımlama için kullanılır. |
command |
Kapsayıcının başlangıç komutu. | Docker'ın giriş noktası alanına eşdeğerdir. |
args |
Komut bağımsız değişkenlerini başlatma. | Dizideki girişler, başlangıç komutuna geçiş yapmak için bir parametre listesi oluşturmak için bir araya eklenir. |
env |
Ortam değişkenlerini tanımlayan anahtar/değer çiftleri dizisi. | Gizli secretRef bir gizli value bilgiye başvurmak için alanı yerine kullanın. |
resources.cpu |
Kapsayıcıya ayrılan CPU sayısı. | Değerlerin aşağıdaki kurallara uyması gerekir: değer sıfırdan büyük ve 2'den küçük olmalıdır ve herhangi bir ondalık sayı olabilir ve en fazla bir ondalık basamak olabilir. Örneğin, 1.1 geçerli, ancak 1.55 geçersizdir. Varsayılan değer kapsayıcı başına 0,5 CPU'dır. |
resources.memory |
Kapsayıcıya ayrılan RAM miktarı. | Bu değer, değerine 4Gi kadardır. İzin verilen tek birleşik değer gibibaytlardır ( Gi ). Değerlerin aşağıdaki kurallara uyması gerekir: değer sıfırdan büyük ve değerinden küçük olmalıdır ve herhangi bir ondalık sayı olabilir ve en 4Gi fazla iki ondalık basamak olabilir. Örneğin, 1.25Gi geçerli, ancak 1.555Gi geçersizdir. Kapsayıcı başına varsayılan 1Gi değerdir. |
Kapsayıcı uygulamasındaki tüm kapsayıcılar için istenen toplam CPU miktarı ve bellek miktarı aşağıdaki bileşimlerden birini eklemalıdır.
| Sanal çekirdek | Gi'de bellek |
|---|---|
| 0,5 | 1.0 |
| 1.0 | 2.0 |
| 1,5 | 3.0 |
| 2.0 | 4.0 |
- Tüm kapsayıcılarınıza gelen CPU isteklerinin vCPU sütunundaki değerlerden biri ile eşleşmesi gerekir.
- Tüm kapsayıcılarınıza gelen tüm bellek isteklerinin CPU sütunlarının aynı satırdaki bellek sütunundaki bellek değeriyle eşleşmesi gerekir.
Birden çok kapsayıcı
Tek bir kapsayıcı uygulamasında birden çok kapsayıcı tanımlayabilirsiniz. Kapsayıcı grupları pod olarak bilinir. Pod'daki kapsayıcılar sabit diski ve ağ kaynaklarını paylaşır ve aynı uygulama yaşam döngüsünü deneyimler.
Yapılandırmanın dizisinde birden fazla kapsayıcı tanımlayarak birden çok kapsayıcıyı birlikte containers çalıştırabilirsiniz.
Podda kapsayıcıları birlikte çalıştırma nedenleri şunlardır:
- Kapsayıcıyı birincil uygulamanıza bir araba olarak kullanın.
- Paylaşılan disk alanı ve sanal ağ kullanımı.
- Ölçek kurallarını kapsayıcılar arasında paylaşın.
- Her zaman birlikte çalışması gereken birden çok kapsayıcıyı birlikte grupla.
- Aynı konakta bulunan kapsayıcılar arasında doğrudan iletişimi etkinleştirin.
Kapsayıcı kayıt defterleri
Özel kayıt defterleri üzerinde barındırılan görüntüleri dağıtabilirsiniz; burada kimlik bilgileri Container Apps yapılandırması aracılığıyla sağlanır.
Kapsayıcı kayıt defterini kullanmak için önce yapılandırmanın bölümüne gerekli alanları tanımlayın. registries
{
...
"registries": {
"server": "docker.io",
"username": "my-registry-user-name",
"passwordSecretRef": "my-password-secretref-name"
}
}
Bu ayar ile, dizideki bir kapsayıcı görüntüsüne başvurarak kaydedilen kimlik image bilgileri containers kullanılabilir.
Aşağıdaki örnekte, uygulamanın şirket dışından nasıl Azure Container Registry.
{
...
"configuration": {
"secrets": [
{
"name": "acr-password",
"value": "my-acr-password"
}
],
"registries": [
{
"server": "myacr.azurecr.io",
"username": "someuser",
"passwordSecretRef": "acr-password"
}
]
}
}
Sınırlamalar
Azure Container Apps aşağıdaki sınırlamalara sahiptir:
Ayrıcalıklı kapsayıcılar: Azure Container Apps ayrıcalıklı kapsayıcıları çalıştıramamalıdır. Programınız kök erişim gerektiren bir işlemi çalıştırmaya çalışırsa, kapsayıcının içindeki uygulama bir çalışma zamanı hatasıyla karşılaştı.
İşletim sistemi: Linux tabanlı kapsayıcı görüntüleri gereklidir.