2015-07-22 27 views
21

Kısa bir süre önce AWS tarafından görev tanımını kullanarak docker kapsayıcılarını dağıtmayı denedim. Yol boyunca aşağıdaki sorulara rastladım.Amazon ECS kümesi nasıl anlaşılır

  1. Kümeye örnek nasıl eklenir? Amazon ECS konsolunu kullanarak yeni bir küme oluştururken, yeni kümeye yeni bir ec2 örneği nasıl eklenir. Başka bir deyişle, yeni bir ec2 örneğini başlatırken, bunu Amazon ECS kapsamında bir kullanıcı tarafından oluşturulan kümeye tahsis etmek için hangi yapılandırmaya ihtiyaç duyulur.

  2. Bir kümede kaç tane ECS örneği gerekiyor ve bunlar nelerdir?

  3. Bir kümede iki örneğim (ins1, ins2) ve web sunucum varsa, db kapsayıcılar ins1'de çalışıyor. Çalışan hizmeti güncelleştirdikten sonra (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-service.html aracılığıyla), "ins1" de eski hizmeti boşaltmadan önce yeni oluşturulan hizmetin "ins2" de çalıştığını görebiliyorum. Sorum şu: webapp konteynerim başka bir örneğe ayrıldıktan sonra, erişim IP adresi başka bir örnek IP olur. Webapp'a aynı IP adresi erişimini nasıl önleyebiliriz? Sadece IP değil, yeni bir örneğe geçtikten sonra veriler hakkında ne düşünüyorsunuz?

cevap

31

Bunlar gerçekten üç oldukça farklı sorulardır, bu yüzden en iyi burada buna göre farklı sorular bölünmeleri olabilir - Ben ne olursa olsun bir cevap sağlamak çalışacağım:

  1. Amazon ECS Container Instances dolaylı eklenir, bu kadar Her bir örnekte Amazon ECS Container Agent'un işi, sizin tarafınızdan yaratılan ve sizin tarafınızdan adlandırılan küme ile kaydedilmesi için, ayrıntılar için bkz. concepts ve lifecycle. Bunun çalışması için, el ile veya otomasyon yoluyla Launching an Amazon ECS Container Instance'da belirtilen adımları uygulamanız gerekir. 10. adımda farkında olun .: Varsayılan olarak

, kapsayıcı örneği varsayılan küme içine başlattı. Varsayılan olarak yerine kendi kümenizde başlatmak istiyorsanız, Gelişmiş Ayrıntılar listesini seçin ve aşağıdaki komut dosyasını Kullanıcı veri alanına yapıştırın ve your_cluster_name ile kümenizin adını değiştirin.

#!/bin/bash 
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config 
    Yalnızca küme kendisi sizin adınıza AWS tarafından yönetilen çünkü ECS gibi çalışması için tek bir örneğini ihtiyaç
  1. . konteyner ev sahipliği sadece düzenli Amazon EC2 örnekleridir Çünkü AWS en iyi uygulamaları takip ve böylece (nadir iki ya da üç Availability Zones (AZ) üzerine yayar gerekir,

    • : Bu olsa yüksek kullanılabilirlik senaryoları için yeterli olmaz) Bir AZ'nin kesilmesi, kümenizi etkilemez çünkü ECS, kaplarınızı farklı bir ana bilgisayar örneğine taşıyabilir (kümenizin yeterli yedek kapasitesine sahip olması koşuluyla).
    • Kapları kolaylaştıran birçok gelişmiş kümeleme teknolojisi kendi hizmet düzenleme katmanlarına sahiptir ve genellikle yüksek kullanılabilirlik ayarı için eşit olmayan bir sayı> = 3 (hizmet) örneği gerektirir. Bu konuda daha fazla bilgiyi En Uygun Küme Boyutu içinde Administration içinde bulabilirsiniz (ayrıca bkz. Running CoreOS with AWS EC2 Container Service).
  2. Bu zaten 2'de belirtilen yüksek kullanılabilirlik ve hizmet orkestrasyon konulara geri atıfta senin genel olarak konteyner teknolojileri ve mikro hizmetlerini kullanarak bile daha yaygın hale service discovery sorununu, karşı karşıya daha doğrusu özellikle:

+1

awesome answer! Umarım hala çalışır, ama bir şey değiştiyse cevabını güncelleyen tip olarak beni vurursun. – the0ther