Azure Container Instances’taki kapsayıcı grupları

Azure Container Instances'taki 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 makinesinde zamanlanan kapsayıcı koleksiyonudur. Kapsayıcı grubundaki kapsayıcılar bir yaşam döngüsünü, kaynakları, yerel ağı ve depolama birimlerini paylaşır. Kavram olarak Kubernetes'teki podlara 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, 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ılarına getirmek için çalışırken, geçerli platform farklarını hizmete Genel Bakış bölümünde bulabilirsiniz.

Dağıtım

Birden çok kapsayıcılı grup dağıtmanın iki yaygın yolu şunlardır: Resource Manager şablonu veya YAML dosyası kullanma. Kapsayıcı örneklerini dağıtırken ek Azure hizmet kaynakları (örneğin, bir Azure Dosyalar paylaşımı) dağıtmanız gerektiğinde 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 yaml dosyası önerilir. Ayarlayabileceğiniz özelliklerle ilgili ayrıntılar için Resource Manager şablon 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ı 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 kullanın.

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. ÖRNEK olarak CPU kaynaklarını ele alırsak, 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 kaynaklara ayrılı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. Bir 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ı, belirlediğiniz sınıra kadar istekten 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

Bir kapsayıcı grubunun kaynaklarının küçük bir miktarı hizmetin temel altyapısı tarafından kullanılır. Kapsayıcılarınız gruba ayrılan kaynakların tümüne erişemez ancak çoğuna 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ı grupları dış ip adresini, bu IP adresi üzerindeki 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, bağlantı noktasını IP adresinde ve kapsayıcıdan 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ına olanak 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ükleri ve ölçüm çıkışını toplar ve bunları uzun vadeli depolama alanına yazar.
  • Uygulama kapsayıcısı ve izleme kapsayıcısı. İzleme kapsayıcısı, düzgün çalıştığından ve yanıt verdiğinden emin olmak için uygulamaya düzenli 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: