sql >> Databáze >  >> RDS >> Database

Jak začít s Amazon ECS a Amazon Fargate

Docker lze nainstalovat na nejběžněji používané platformy OS. CoreOS má předinstalovaný Docker a je navržen speciálně pro spouštění kontejnerů Docker. Docker for AWS poskytuje předdefinovaný režim Docker swarm, ve kterém shluk uzlů, nazývaný swarm, poskytuje distribuovanou platformu pro spouštění aplikací kontejnerů Docker.

Problém: Všechny výše uvedené platformy Docker jsou pouze různé typy instalací Dockeru a vyžadují, aby kontejnery Docker běžely a byly spravovány z příkazového řádku.

Řešení: Amazon ECS (Služba elastických kontejnerů ) je spravovaná služba pro kontejnery Docker s vestavěnou podporou pro škálování, vyvažování zátěže, vytváření sítí, úložiště, protokolování a další úlohy správy kontejnerů Docker. Amazon ECS podporuje dva typy spouštění:EC2 a Fargate.

S typem spuštění EC2 se instance EC2 spouštějí ke spouštění kontejnerů Docker. Typ spuštění Fargate, který byl představen nedávno (listopad 2017), hostí úlohy, které zapouzdřují kontejnery Docker. Úlohy jsou přímo zpřístupněny uživateli prostřednictvím elastického síťového rozhraní (ENI ). Instance EC2, na kterých je zřízen Fargate, nejsou uživateli vystaveny a nejsou přímo přístupné.

V této kapitole se dozvíme o následujícím:Co je Amazon Fargate

  • Výhody objektů Fargate Amazon ECS
  • Výpočetní zdroje v Amazon ECS Fargate
  • Co je nového v režimu typu spuštění Amazon Fargate?

Co je Amazon Fargate

Amazon Fargate je nový typ spuštění pro Amazon ECS a Amazon EKS (Elastic Kubernetes Service )-spravované orchestrační služby pro kontejnery Docker na AWS. U typu startu Fargate je infrastruktura plně zajišťována společností Fargate. Je bez serveru a uživateli nejsou vystaveny žádné instance EC2. Kontejnery Docker jsou definovány jako definice kontejnerů v rámci definice úlohy. Služba implementuje definici úlohy ke spuštění jedné nebo více úloh. Každý úkol je spojen s ENI. Pokud je povoleno automatické přidělování veřejné IP na úrovni úlohy, je k úloze automaticky přiřazena veřejná IP, na které může externí klient přistupovat k úloze. Úkoly spolu komunikují přes privátní IP.

Výhody Fargate

Výhody v ECS jsou následující:

  • Spravovaná služba pro kontejnerové aplikace, která ke spouštění aplikací Docker nevyžaduje mnoho uživatelského vstupu
  • Mikroslužby skládající se z více aplikací běžících v izolovaných kontejnerech Automatické škálování úloh na základě zatížení aplikace
  • Integrace s dalšími službami AWS včetně IAM, CloudWatch Logs, Elastic Load Balancing, CloudFormation šablon, EBS Volumes, Batch, ECR a CloudTrail logs
  • Virtuální privátní cloud (VPC ) bez sdílených prostředků s ostatními uživateli Poskytuje podporu pro provozování CodePipeline s ECS jako platformou pro nasazení
  • Podporuje nejnovější verzi Dockeru 17.0

Fargate poskytuje následující další výhody:

  • U typu spouštění Fargate uživatel nevytváří ani nespravuje žádné instance EC2, protože žádná není v clusteru vystavena.
  • Úkoly jsou uživateli přímo vystaveny prostřednictvím ENI.
  • Základní infrastrukturu poskytuje Fargate. Instance EC2 nelze spravovat pomocí typu spuštění Fargate.
  • CodePipeline podporuje Fargate jako platformu pro nasazení.
  • Mikroslužby založené na definicích kontejneru zapouzdřených v definici úkolu jsou explicitně propojeny a nemají být propojeny s žádnými dalšími možnostmi, jako jsou odkazy.
  • Protokoly CloudWatch lze konfigurovat automaticky.

Objekty Amazon ECS

Objekty Amazon ECS s Fargate jsou stejné jako u typu startu EC2. Cluster ECS je nejvzdálenější zapouzdření a skládá se z jedné nebo více služeb. Cluster by mohl být distribuován do více zón dostupnosti. Služba je implementací definice úlohy a spouští jednu nebo více úloh. Definice úkolu může mít jednu nebo více revizí úkolu. Revize úkolu je odlišná definice úkolu se sadou úkolů a s ní spojenou službou. Jedna instance Fargate je spojena se sadou úkolů ve službě. Definice úlohy se skládá z nuly nebo více definic kontejneru. Obvykle by definice úlohy byla spojena s jednou nebo více definicemi kontejneru a definice úlohy, která se neskládá z žádné definice kontejneru, by nespouštěla ​​žádné kontejnery úloh. Diagram objektů ECS je zobrazen následovně:

Definice úkolu je šablona aplikace a popisuje jeden nebo více kontejnerů. Zatímco některé atributy nebo nastavení jsou konfigurovány na úrovni úlohy, většina z nich je konfigurována na úrovni kontejneru. S definicí úkolu může být spojeno více revizí.

Služba implementuje definici úlohy a definuje požadovaný počet úloh, které se mají spustit pro definici úlohy. Ve službě jsou nakonfigurovány volitelné funkce, jako je automatické škálování a vyrovnávání zátěže.

Shluk ve službě ECS je seskupení jedné nebo více kontejnerových služeb. Název clusteru musí být v rámci účtu jedinečný. Ve výchozím nastavení je zřízen cluster s názvem default.

Výpočetní zdroje v Amazon ECS Fargate

Velikost úkolu sestává z Paměti úloh (GB) a Task CPU (vCPU) . Zatímco u typu spouštění EC2 je volitelná, u typu spouštění Fargate je vyžadována velikost úlohy. Volitelně lze definovat nastavení paměti na úrovni kontejneru dockeru a CPU, ale jsou přepsána nastavením úrovně definice úlohy. Podporovány jsou pouze určité kombinace paměti úlohy a CPU úlohy a průvodce ECS pomocí zprávy indikuje podporovanou hodnotu (nebo rozsah hodnot) pro vybranou hodnotu. Například platný rozsah CPU pro 1 GB paměti je 0,25 vCPU až 0,5 vCPU. Celkové prostředky (paměť nebo CPU) nakonfigurované na úrovni kontejneru nesmí překročit nastavení prostředků na úrovni úlohy. Pokud se například definice úlohy skládá ze dvou kontejnerů (MySQL a WordPress) s limitem paměti 128 MB pro každý kontejner, musí být paměť na úrovni úkolu alespoň 256 MB. Celková velikost paměti na úrovni kontejneru také nesmí překročit 256 MB. Podobně pro CPU. Na úrovni kontejneru lze definovat dva limity paměti:Měkký limit a Pevný limit . Měkký limit odpovídá memoryReservation atribut na úrovni úkolu a pevný limit odpovídá paměti atribut na úrovni úkolu. Součet rezervací paměti kontejneru (Soft limity) nesmí překročit paměť úlohy. Pevný limit pro každý kontejner nesmí překročit paměť nakonfigurovanou na úrovni úlohy. Ve výchozím nastavení musí být pro kontejner určeno minimálně 4 GB.

Příklad velikosti úkolu je uveden na následujícím snímku obrazovky, na kterém je Paměť úkolů (paměť atribut) je nastaven na 0,5 GB (512 GB) a Úlohový CPU je nastaven na 0,25 vCPU . Na úrovni kontejneru, jak je nakonfigurováno ve dvou definicích kontejneru, je rezervace paměti 128 MB pro každý kontejner, což činí celkovou rezervaci paměti 256 MB v rámci 512 GB přidělené na úrovni úkolu. Velikost úkolu je přidělena úkolu, ať už je použit nebo ne. Podobně počet CPU jednotek nakonfigurováno pro každý kontejner je 10 což znamená, že celkové CPU jednotky 20 pro kontejnery v rámci CPU jednotek 25 jsou alokovány na úrovni úlohy. Podívejte se na následující snímek obrazovky:

Konfigurace velikosti úlohy a alokace pro kontejnery

Co je nového v režimu typu spouštění Amazon Fargate?

Kromě a současně s výhodami Fargate diskutovanými výše podporuje Fargate následující nové funkce:

  • Režim sítě, awsvpc , je jediným podporovaným režimem
  • Mapování hostitelského portu nejsou platná pro síťový režim typu spuštění Fargate (awsvpc ) a hostitelské porty, na kterých je aplikace vystavena, jsou stejné jako porty kontejneru
  • ecsTaskExecutionRole je přidán pro typ spouštění Fargate, aby umožnil stahování obrázků Docker a odesílání protokolů do protokolů CloudWatch
  • Pouze awslogs konfigurace protokolu a awslogs Log ovladače jsou podporovány s CloudWatch Logs
  • Umístění úkolů není podporováno, protože nejsou k dispozici žádné instance ECS, které by definovaly omezení umístění pro
  • Jsou podporovány pouze obrazy Docker na Docker Hub a Amazon ECR. Kontejnery systému Windows s privilegovanými oprávněními nejsou podporovány pro typ spuštění Fargate Hostitelská zařízení nelze vystavit kontejneru
  • hostitel a sourcePath parametry pro svazky nejsou podporovány u typu spuštění Fargate

Shrnutí

V této úvodní kapitole jsme diskutovali o výhodách použití typu spouštění Fargate, jak jsou distribuovány a konfigurovány výpočetní zdroje s typem spouštění Fargate, jak jsou objekty ECS s Fargate stejné jako u typu spouštění EC2 a o nových funkcích v Fargate. V další kapitole budeme diskutovat o síťovém propojení používaném s Fargate.

Předcházející materiál je výňatek z Příručky rychlého startu Amazon Fargate , od Deepak Vohra, vydané nakladatelstvím Pact Publishing.

Tento článek byl přidán. ©Developer.com. Všechna práva vyhrazena


  1. Čtení a import souboru XLSX (Excel) v Oracle

  2. Jak zkontrolovat verzi serveru SQL

  3. psql:FATAL:Ověření peer selhalo pro uživatele dev

  4. Odečítání dat v Oracle – datový typ čísla nebo intervalu?