Azure Container Instances’taki kapsayıcı grupları

Azure Container Instances'daki en üst düzey kaynak kapsayıcı grubudur. Bu makalede kapsayıcı gruplarının ne olduğu ve etkinleştirdikleri senaryo türleri açıklanmaktadır.

Kapsayıcı grubu nedir?

Kapsayıcı grubu, aynı konak makinede zamanlanan kapsayıcılardan oluşan bir koleksiyondur. Kapsayıcı grubundaki kapsayıcılar yaşam döngüsünü, kaynakları, yerel ağı ve depolama birimlerini paylaşır. Kavram olarak Kubernetes'tekipodlara benzer.

Aşağıdaki diyagramda birden çok kapsayıcı içeren bir kapsayıcı grubu örneği gösterilmektedir:

Container groups diagram

Bu örnek kapsayıcı grubu:

  • Tek bir konak makinede zamanlanır.
  • Bir DNS ad etiketi atanır.
  • Tek bir genel IP adresini, kullanıma sunulan tek bir bağlantı noktasıyla kullanıma sunar.
  • İki kapsayıcıdan oluşur. Kapsayıcılardan biri 80 numaralı bağlantı noktasını, diğeri ise 5000 numaralı bağlantı noktasını dinler.
  • Birim bağlaması olarak iki Azure dosya paylaşımı içerir ve her kapsayıcı paylaşımlardan birini yerel olarak bağlar.

Not

Çok kapsayıcılı gruplar şu anda yalnızca Linux kapsayıcılarını destekler. Windows kapsayıcılar için Azure Container Instances yalnızca tek bir kapsayıcı örneğinin dağıtımını destekler. Tüm özellikleri Windows kapsayıcılara taşımaya çalışırken, hizmet Genel Bakış bölümünde geçerli platform farklarını bulabilirsiniz.

Dağıtım

Çok kapsayıcılı bir grubu dağıtmanın iki yaygın yolu şunlardır: Resource Manager şablonu veya YAML dosyası kullanın. Kapsayıcı örneklerini dağıtırken ek Azure hizmet kaynakları (örneğin, bir Azure Dosyalar paylaşımı) dağıtmanız gerektiğinde bir Resource Manager şablonu önerilir. YAML biçiminin daha kısa olması nedeniyle, dağıtımınız yalnızca kapsayıcı örnekleri içerdiğinde bir YAML dosyası önerilir. Ayarlayabileceğiniz özellikler hakkında ayrıntılı bilgi için Resource Manager şablonu başvurusu veya YAML başvuru belgelerine bakın.

Kapsayıcı grubunun yapılandırmasını korumak için az container export Azure CLI komutunu kullanarak yapılandırmayı bir YAML dosyasına aktarabilirsiniz. Dışarı aktarma, kapsayıcı grubu yapılandırmalarınızı "kod olarak yapılandırma" için sürüm denetiminde depolamanıza olanak tanır. Ya da YAML'de yeni bir yapılandırma geliştirirken dışarı aktarılan dosyayı başlangıç noktası olarak kullanabilirsiniz.

Kaynak ayırma

Azure Container Instances, CPU'lar, bellek ve isteğe bağlı GPU'lar (önizleme) gibi kaynakları gruptaki örneklerin kaynak isteklerini ekleyerek çok kapsayıcılı bir gruba ayırır. CPU kaynaklarını örnek alarak, her biri 1 CPU isteyen iki kapsayıcı örneği içeren bir kapsayıcı grubu oluşturursanız, kapsayıcı grubuna 2 CPU ayrılır.

Kapsayıcı örneklerine göre kaynak kullanımı

Bir gruptaki her kapsayıcı örneği, kaynak isteğinde belirtilen kaynakları ayırır. Ancak, isteğe bağlı kaynak sınırı özelliğini yapılandırırsanız, gruptaki bir kapsayıcı örneği tarafından kullanılan en fazla kaynak sayısı farklı olabilir. Kapsayıcı örneğinin kaynak sınırı, zorunlu kaynak isteği özelliğinden büyük veya buna eşit olmalıdır.

  • Kaynak sınırı belirtmezseniz, kapsayıcı örneğinin en fazla kaynak kullanımı, kaynak isteğiyle aynıdır.

  • Kapsayıcı örneği için bir sınır belirtirseniz, örneğin maksimum kullanımı, ayarladığınız sınıra kadar istekten daha büyük olabilir. Buna karşılık, gruptaki diğer kapsayıcı örnekleri tarafından kaynak kullanımı azalabiliyor. Kapsayıcı örneği için ayarlayabileceğiniz maksimum kaynak sınırı, gruba ayrılan toplam kaynak sayısıdır.

Örneğin, her biri 1 CPU isteyen iki kapsayıcı örneğine sahip bir grupta, kapsayıcılarınızdan biri diğerinden daha fazla CPU'nun çalıştırılmasını gerektiren bir iş yükü çalıştırabilir.

Bu senaryoda, kapsayıcı örneği için en fazla 2 CPU kaynak sınırı ayarlayabilirsiniz. Bu yapılandırma, kapsayıcı örneğinin varsa en fazla 2 CPU kullanmasına olanak tanır.

Not

Hizmetin temel aldığı altyapı, kapsayıcı grubunun kaynaklarının az bir kısmını kullanır. Kapsayıcılarınız gruba ayrılan kaynakların çoğuna erişemez ancak tümüne erişemez. Bu nedenle, gruptaki kapsayıcılar için kaynak isterken küçük bir kaynak arabelleği planlayın.

Minimum ve maksimum ayırma

  • Kapsayıcı grubuna en az 1 CPU ve 1 GB bellek ayırın. Bir grup içindeki tek tek kapsayıcı örnekleri 1 CPU ve 1 GB'tan az bellekle sağlanabilir.

  • Kapsayıcı grubundaki en fazla kaynak sayısı için bkz. dağıtım bölgesindeki Azure Container Instances için kaynak kullanılabilirliği.

Kapsayıcı grupları bir dış ip adresini, bu IP adresinde bir veya daha fazla bağlantı noktasını ve tam etki alanı adına (FQDN) sahip bir DNS etiketini paylaşabilir. Dış istemcilerin grup içindeki bir kapsayıcıya ulaşmasını sağlamak için IP adresinde ve kapsayıcıdan bağlantı noktasını kullanıma sunmanız gerekir. Kapsayıcı grubu silindiğinde bir kapsayıcı grubunun IP adresi ve FQDN'i serbest bırakılır.

Kapsayıcı grubu içinde, bu bağlantı noktaları grubun IP adresinde veya kapsayıcıdan dışarıdan kullanıma sunulmasa bile kapsayıcı örnekleri herhangi bir bağlantı noktasında localhost aracılığıyla birbirine ulaşabilir.

İsteğe bağlı olarak kapsayıcıların sanal ağdaki diğer kaynaklarla güvenli bir şekilde iletişim kurmasını sağlamak için kapsayıcı gruplarını bir Azure sanal ağına dağıtın.

Depolama

Kapsayıcı grubu içinde bağlanacak dış birimleri belirtebilirsiniz. Desteklenen birimler şunlardır:

Bu birimleri bir gruptaki tek tek kapsayıcıların içindeki belirli yollara eşleyebilirsiniz.

Genel senaryolar

Çok kapsayıcılı gruplar, tek bir işlevsel görevi az sayıda kapsayıcı görüntüsüne bölmek istediğiniz durumlarda kullanışlıdır. Bu görüntüler daha sonra farklı ekipler tarafından teslim edilebilir ve ayrı kaynak gereksinimlerine sahiptir.

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

  • Web uygulaması sunan bir kapsayıcı ve kaynak denetiminden en son içeriği çeken bir kapsayıcı.
  • Uygulama kapsayıcısı ve günlük kapsayıcısı. Günlük kapsayıcısı, ana uygulama tarafından günlüklerin ve ölçümlerin çıkışını toplar ve bunları uzun vadeli depolama alanına yazar.
  • Uygulama kapsayıcısı ve izleme kapsayıcısı. İzleme kapsayıcısı, uygulamanın çalıştığından ve doğru yanıt verdiğinden emin olmak için belirli aralıklarla bir istekte bulunur ve çalışmıyorsa bir uyarı oluşturur.
  • Ön uç kapsayıcısı ve arka uç kapsayıcısı. Ön uç bir web uygulamasına hizmet verebilir ve arka uç veri almak için bir hizmet çalıştırır.

Sonraki adımlar

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