Azure Container Instances'taki Konteyner Grupları

Azure Container Instances'daki en üst düzey kaynak kapsayıcı grubudur. Bu makale, konteyner gruplarının ne olduğunu ve sağladıkları senaryo türlerini açıklar.

What is a container group?

A container group is a collection of containers that get scheduled on the same host machine. The containers in a container group share a lifecycle, resources, local network, and storage volumes. Kavram olarak Kubernetes'deki bir pod'a benzer.

Aşağıdaki diyagram, birden fazla konteyner içeren bir konteyner grubunun örneğini göstermektedir.

Container groups diagram

This example container group:

  • Is scheduled on a single host machine.
  • DNS ad etiketi atandı.
  • Exposes a single public IP address, with one exposed port.
  • Consists of two containers. Bir konteyner 80 numaralı portu dinlerken, diğeri 5000 numaralı portu dinliyor.
  • İki Azure dosya paylaşımlarını birim bağlamaları olarak içerir ve her bir konteyner bu paylaşımlardan birini yerel olarak bağlar.

Uyarı

Multi-container groups currently support only Linux containers. For Windows containers, Azure Container Instances only supports deployment of a single container instance. Tüm özellikleri Windows konteynerlerine getirmek için çalışırken, hizmet Genel Bakış'ında mevcut platform farklılıklarını bulabilirsiniz.

Dağıtım

Here are two common ways to deploy a multi-container group: use a Resource Manager template or a YAML file. A Resource Manager template is recommended when you need to deploy other Azure service resources (for example, an Azure Files share) when you deploy the container instances. Due to the YAML format's more concise nature, a YAML file is recommended when your deployment includes only container instances. For details on properties you can set, see the Resource Manager template reference or YAML reference documentation.

Bir konteyner grubunun yapılandırmasını korumak için, yapılandırmayı Azure CLI komutu az container export'u kullanarak bir YAML dosyasına aktarabilirsiniz. Dışa aktarma, "kod olarak yapılandırma" için konteyner grubu yapılandırmalarınızı sürüm kontrolünde saklamanıza olanak tanır. Ya da, yeni bir yapılandırma geliştirirken dışa aktarılan dosyayı başlangıç noktası olarak kullanabilirsiniz.

Kaynak ayırma

Azure Container Instances allocates resources such as CPUs, memory, and optionally GPUs (preview) to a multi-container group by adding the resource requests of the instances in the group. Taking CPU resources as an example, if you create a container group with two container instances, each requesting one CPU, then the container group is allocated 2 CPUs.

Kapsayıcı örnekleri tarafından kaynak kullanımı

Bir gruptaki her konteyner örneğine, kaynak talebinde belirtilen kaynaklar tahsis edilir. Ancak, bir gruptaki kapsayıcı örneğinin kullandığı maksimum kaynaklar, isteğe bağlı kaynak sınırı özelliğini yapılandırırsanız farklı olabilir. Bir konteyner örneğinin kaynak limiti, zorunlu kaynak isteği özelliğine eşit veya daha büyük olmalıdır.

  • If you don't specify a resource limit, the container instance's maximum resource usage is the same as its resource request.

  • Bir kapsayıcı örneği için bir sınır belirlerseniz, örneğin maksimum kullanımı talebin üzerinde olabilir, belirlediğiniz sınır kadar. Buna bağlı olarak, gruptaki diğer konteyner örneklerinin kaynak kullanımı azalabilir. The maximum resource limit you can set for a container instance is the total resources allocated to the group.

Örneğin, her biri bir CPU talep eden iki konteyner örneği içeren bir grupta, konteynerlerinizden biri diğerinden daha fazla CPU gerektiren bir iş yükü çalıştırabilir.

Bu senaryoda, konteyner örneği için kaynak sınırını 2 CPU'ya kadar belirleyebilirsiniz. Bu yapılandırma, eğer mevcutsa, konteyner örneğinin en fazla 2 CPU kullanmasına olanak tanır.

Uyarı

Bir konteyner grubunun kaynaklarının küçük bir kısmı, hizmetin altında yatan altyapı tarafından kullanılır. Konteynerleriniz, gruba tahsis edilen kaynakların çoğuna ama hepsine değil erişebilecekler. Bu sebeple, gruptaki konteynerler için kaynak talep ederken küçük bir kaynak tamponu planlayın.

Minimum ve maksimum tahsisat

  • Bir konteyner grubuna en az 1 CPU ve 1 GB bellek ayırın. Bir grup içindeki bireysel konteyner örnekleri, bir CPU ve 1 GB belleğin altında kaynaklarla sağlanabilir.

  • Bir kapsayıcı grubundaki maksimum kaynaklar için, dağıtım bölgesindeki Azure Kapsayıcı Örnekleri için kaynak kullanılabilirliğini kontrol edin.

Kapsayıcı grupları, dışa bakan bir IP adresini, bu IP adresinde bir veya daha fazla portu ve bir tam nitelikli etki alanı adı (FQDN) ile DNS etiketini paylaşabilir. Grubun içindeki bir konteynere dış müşterilerin erişebilmesi için, IP adresinde ve konteynerden bağlantı noktasını paylaşmanız gerekir. Bir konteyner grubunun IP adresi ve FQDN, konteyner grubu silindiğinde serbest bırakılır.

Bir konteyner grubunda, konteyner örnekleri, grubun IP adresinde veya konteynerden dışarıya doğru bu portlar açılmasa bile, herhangi bir port üzerinden localhost aracılığıyla birbirlerine ulaşabilir.

İsteğe bağlı olarak, kapsayıcı gruplarını diğer kaynaklarla güvenli bir şekilde iletişim kurabilmeleri için bir Azure sanal ağı içine dağıtın.

Depolama

Kap içinde bir konteyner grubunda monte etmek için harici birimleri belirleyebilirsiniz. Desteklenen hacimler şunlardır:

Belirli bir gruptaki bireysel kaplar içindeki belirli yollara bu birimleri eşleyebilirsiniz.

Yaygın senaryolar

Birden fazla konteyner grubunu kullanmak, tek bir işlevsel görevi birkaç konteyner imajına bölmek istediğiniz durumlarda faydalıdır. Bu görüntülerin ayrı kaynak gereksinimleri olabilir ve farklı ekipler bunları teslim edebilir.

Örnek kullanım şunları içerebilir:

  • Web uygulaması sunan bir konteyner ve kaynak denetiminden en son içeriği çeken bir konteyner.
  • Bir uygulama konteyneri ve bir kayıt konteyneri. Ana uygulama tarafından üretilen logları ve metrikleri toplayan kayıt konteyneri, bunları uzun vadeli depolama alanına yazar.
  • Uygulama konteyneri ve izleme konteyneri. İzleme konteyneri, uygulamanın çalıştığını ve doğru şekilde yanıt verdiğini sağlamak için periyodik olarak bir istek gönderir ve eğer çalışmıyorsa bir uyarı verir.
  • Ön uç konteyner ve arka uç konteyner. Ön uç, bir web uygulamasına hizmet edebilirken arka uç, veri almak için bir hizmet çalıştırıyor olabilir.

Sonraki adımlar

Azure Resource Manager şablonuyla çoklu kapsayıcı grubu dağıtmayı öğrenin: