14 Container Orchestration Tools for DevOps

Beszéljünk néhány, a piacon elérhető népszerű konténer hangszerelési eszközről.

Mi az a konténerhangszerelés?

A Dockerhez hasonló konténerplatformok manapság nagyon népszerűek a mikroszolgáltatási architektúrán alapuló alkalmazások csomagolására. A konténerek nagymértékben méretezhetővé tehetők, amelyek igény szerint létrehozhatók. Bár ez jó néhány konténerhez, de képzelje el, hogy több száz van belőlük.

Rendkívül nehézzé válik a konténerek életciklusának és kezelésének menedzselése, amikor a számok a kereslet függvényében dinamikusan növekszenek.

A konténerek összehangolása a konténerek ütemezésének, telepítésének, méretezhetőségének, terheléselosztásának, rendelkezésre állásának és hálózatba kapcsolásának automatizálásával oldja meg a problémát. A konténerhangszerelés a konténerek és szolgáltatások életciklusának automatizálása és menedzselése.

Ez több konténer és mikroszolgáltatás-architektúra méretű kezelésének és szervezésének folyamata.

Szerencsére sok konténer hangszerelési eszköz áll rendelkezésre a piacon.

Fedezzük fel őket!

Kubernetes

Kitaláltad, nem?

Kubernetes egy nyílt forráskódú platform, amelyet eredetileg a Google tervezett, jelenleg pedig a Cloud Native Computing Foundation tart fenn. A Kubernetes támogatja mind a deklaratív konfigurációt, mind az automatizálást. Segítségével automatizálható a konténeres munkaterhelés és szolgáltatások telepítése, méretezése és kezelése.

Kép: Kubernetes.io

A Kubernetes API segít a felhasználók, a fürtkomponensek és a külső, harmadik féltől származó összetevők közötti kommunikáció kialakításában. A Kubernetes vezérlősík és a csomópontok olyan csomópontok csoportján futnak, amelyek együtt alkotják a fürtöt. Az alkalmazás munkaterhelése egy vagy több Pod-ból áll, amelyek a Worker csomópontokon futnak. A vezérlősík kezeli a podokat és a munkavégző csomópontokat.

Az olyan cégek, mint a Babylon, a Booking.com, az AppDirect, széles körben használják a Kubernetes alkalmazást.

Jellemzők

  • Szolgáltatásfelderítés és terheléselosztás
  • Tárolási hangszerelés
  • Automatizált közzététel és visszaállítás
  • Vízszintes méretezés
  • Titkos és konfigurációkezelés
  • Öngyógyítás
  • Kötegelt végrehajtás
  • IPv4/IPv6 kettős verem
  • Automatikus szemetes csomagolás

Szeretnél Kuberneteset tanulni? Tekintse meg ezeket a tanulási forrásokat.

OpenShift

Redhat kínál OpenShift Container Platform as a Service (PaaS). Segíti a biztonságos és méretezhető erőforrásokon lévő alkalmazások automatizálását hibrid felhőkörnyezetekben. Vállalati szintű platformokat biztosít konténeres alkalmazások építéséhez, telepítéséhez és kezeléséhez.

Kép: Openshift

Redhat vállalati Linuxra és Kubernetes motorra épül. Az Openshift különféle funkciókkal rendelkezik a fürtök kezeléséhez felhasználói felületen és CLI-n keresztül. A Redhat további két változatban kínálja az Openshiftet,

  • Openshift Online – szoftverként kínálják szolgáltatásként (SaaS)
  • OpenShift Dedicated – felügyelt szolgáltatásként kínáljuk

Az Openshift Origin (Origin Community Distribution) egy nyílt forráskódú upstream közösségi projekt, amelyet az OpenShift Container Platform, az Openshift Online és az OpenShift Dedicated használ.

Nomád

Nomád egy egyszerű, rugalmas és könnyen használható munkaterhelés-kezelő a konténerek és a nem konténeres alkalmazások széles körű telepítéséhez és kezeléséhez helyszíni és felhőben. A Nomad egyetlen binárisként fut, kis erőforrás-területtel (35 MB), és támogatja a macOS, Windows és Linux rendszereket.

A fejlesztők deklaratív infrastruktúra-kódként (IaC) rendszert használnak alkalmazásaik üzembe helyezéséhez, és meghatározzák, hogyan kell telepíteni egy alkalmazást. A Nomad automatikusan helyreállítja az alkalmazásokat a hibákból.

  A Mac biztonsági mentésének legjobb módjai

Kép: Nomad

Bármilyen típusú Nomad Orchestrate alkalmazás (nem csak konténer). Első osztályú támogatást nyújt a Docker, a Windows, a Java, a virtuális gépek és egyebek számára.

Jellemzők

  • Egyszerű és megbízható
  • Korszerűsítse a régebbi alkalmazásokat újraírás nélkül
  • Egyszerű összevonás a Scale-ban
  • Bizonyított méretezhetőség
  • Multi-Cloud könnyedén
  • Natív integrációk a Terraform, a Consul és a Vault szolgáltatással

Docker Swarm

Docker Swarm deklaratív modellt használ. Meghatározhatja a szolgáltatás kívánt állapotát, és a Docker fenntartja ezt az állapotot. A Docker Enterprise Edition a Kubernetes-t integrálta a Swarm-mal. A Docker most rugalmasságot biztosít a hangszerelési motor kiválasztásában. A Docker engine CLI segítségével olyan dockermotorokat hoznak létre, ahol alkalmazásszolgáltatásokat lehet telepíteni.

Kép: Docker

A Docker-parancsok a fürttel való interakcióhoz használhatók. A fürthöz csatlakozó gépeket csomópontoknak nevezzük, és a Swarm manager kezeli a fürt tevékenységeit.

A Docker Swarm két fő összetevőből áll:

  • Menedzser – a menedzser csomópontok feladatokat rendelnek a raj dolgozói csomópontjaihoz. A vezetőt Raft konszenzusos algoritmus alapján választják meg. A vezető kezeli a rajra vonatkozó összes rajkezelési és feladatszervezési döntést.
  • Worker Node – a dolgozó csomópont fogadja a feladatokat a menedzser csomóponttól, és végrehajtja azokat.

Jellemzők

  • A Docker Engine-nel integrált fürtkezelés
  • Decentralizált tervezés
  • Deklaratív szolgáltatási modell
  • Méretezés
  • Kívánt állapotegyeztetés
  • Több gazdagépes hálózat
  • Szolgáltatás felfedezése
  • Terhelés elosztás
  • Alapértelmezés szerint biztonságos
  • Folyamatos frissítések

Docker Compose

Docker Compose az együtt működő többtárolós alkalmazások meghatározására és futtatására szolgál. A Docker-compose olyan összekapcsolt szolgáltatások csoportjait írja le, amelyek megosztják a szoftverfüggőségeket, és együtt vannak hangszerelve és méretezve.

Használhat YAML-fájlt (dockerfile) az alkalmazás szolgáltatásainak konfigurálásához. Ezután egy docker-compose up paranccsal létrehozhatja és elindíthatja az összes szolgáltatást a konfigurációból.

A docker-compose.yml így néz ki:

version: '3'
volumes:
  app_data:
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.8.0
    ports:
      - 9200:9200
      - 9300:9300
    volumes:
      - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12
      - ./docker-data-volumes/elasticsearch:/usr/share/elasticsearch/data

  kibana:
    depends_on:
      - elasticsearch
    image: docker.elastic.co/kibana/kibana:6.8.0
    ports:
      - 5601:5601
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml
  app:
    depends_on:
      - elasticsearch
    image: asadali08527/app:latest
    ports:
      - 8080:8080
    volumes:
      - app_data:/var/lib/app/

A Docker Compose segítségével beépítheti az alkalmazáskódot több, egymástól függetlenül futó szolgáltatásba, amelyek belső hálózaton keresztül kommunikálnak. Az eszköz CLI-t biztosít az alkalmazások teljes életciklusának kezeléséhez. A Docker Compose hagyományosan a fejlesztési és tesztelési munkafolyamatokra összpontosított, most azonban inkább a termelés-orientált funkciókra összpontosítanak.

A Docker Engine lehet egy különálló példány, amely a Docker géppel vagy egy teljes Docker Swarm-fürttel rendelkezik.

Jellemzők

  • Több elszigetelt környezet egyetlen gazdagépen
  • A kötetadatok megőrzése a tárolók létrehozásakor
  • Csak azokat a tárolókat hozza létre újra, amelyek megváltoztak
  • Változók és kompozíció mozgatása a környezetek között

MiniKube

Minikube lehetővé teszi a felhasználók számára a Kubernetes helyi futtatását. A Minikube segítségével helyileg tesztelheti az alkalmazásokat egy egycsomópontos Kubernetes-fürtben a személyi számítógépén. A Minikube integrált támogatással rendelkezik a Kubernetes Dashboardhoz.

A Minikube a Kubernetes legújabb stabil kiadását futtatja, és a következő szolgáltatásokat támogatja.

  • Terhelés elosztás
  • Több klaszter
  • Állandó kötetek
  • NodePortok
  • ConfigMaps és titkok
  • Container Runtime: Docker, CRI-O és konténeres
  • CNI (Container Network Interface) engedélyezése

Maraton

Maraton Az Apache Mesoshoz készült, amely képes alkalmazások és keretrendszerek hangszerelésére.

  Hogyan töltsünk fel GIF-eket hanggal az Imguron

Az Apache Mesos egy nyílt forráskódú fürtkezelő. A Mesos az Apache projektje, amely képes konténeres és nem konténeres munkaterhelések futtatására is. A Mesos-fürt fő összetevői a Mesos-ügynökcsomópontok, a Mesos-mester, a ZooKeeper, a Frameworks – a keretrendszerek koordinálják a mesterrel, hogy ütemezzék a feladatokat az ügynökcsomópontokra. A felhasználók interakcióba lépnek a Marathon keretrendszerrel a feladatok ütemezéséhez.

A Marathon ütemező a ZooKeeper segítségével keresi meg az aktuális mestert a feladatok elküldéséhez. A maratoni ütemező és a Mesos mester másodlagos mesterfutással rendelkezik a magas rendelkezésre állás biztosítása érdekében. Az ügyfelek a REST API használatával lépnek kapcsolatba a Marathonnal.

Jellemzők

  • Magas rendelkezésre állás
  • Állapotjelző alkalmazások
  • Gyönyörű és erőteljes felhasználói felület
  • Korlátok
  • Szolgáltatáskeresés és terheléselosztás
  • Egészségügyi ellenőrzések
  • Esemény előfizetés
  • Metrikák
  • REST API-k

Felhősítés

Felhősítés egy nyílt forráskódú felhő-irányítási eszköz a konténerek és mikroszolgáltatások telepítési automatizálásához és életciklus-kezeléséhez. Olyan funkciókat biztosít, mint az igény szerinti fürtök, az automatikus gyógyulás és az infrastruktúra szintű skálázás. A Cloudify képes kezelni a konténer-infrastruktúrát, és megszervezni a konténerplatformokon futó szolgáltatásokat.

Könnyen integrálható Docker és Docker alapú konténerkezelőkkel, beleértve a következőket.

  • Dokkmunkás
  • Docker Swarm
  • Docker Compose
  • Kubernetes
  • Apache Mesos

A Cloudify segíthet konténerfürtök létrehozásában, gyógyításában, méretezésében és lebontásában. A konténerek összehangolása kulcsfontosságú a méretezhető és magasan elérhető infrastruktúra biztosításához, amelyen a konténerkezelők futhatnak. A Cloudify lehetőséget biztosít heterogén szolgáltatások platformok közötti összehangolására. Az alkalmazásokat a CLI és a Cloudify Manager használatával telepítheti.

Farmer

Farmer egy nyílt forráskódú platform, amely a marhaként ismert konténerhangszerelést használja. Lehetővé teszi olyan hangszerelési szolgáltatások kihasználását, mint a Kubernetes, Swarm, Mesos. A Rancher biztosítja a konténerek kezeléséhez szükséges szoftvereket, így a szervezeteknek nem kell a semmiből építeniük a konténerszolgáltatási platformokat a nyílt forráskódú technológiák külön készletével.

A Rancher 2.x lehetővé teszi az ügyfél által megadott szolgáltatókon futó Kubernetes-fürtök kezelését.

A Rancher használatának megkezdése két lépésből áll.

Készítsen Linux gazdagépet

Készítsen Linux gazdagépet 64 bites Ubuntu 16.04 vagy 18.04 (vagy egy másik támogatott Linux disztribúció és legalább 4 GB memóriával. Telepítse a Docker támogatott verzióját a gazdagépre).

Indítsa el a szervert

A Rancher telepítéséhez és futtatásához futtassa a következő Docker-parancsot a gazdagépen:

$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

A rancher felhasználói felület több ezer Kubernetes-fürt és csomópont kezelését teszi lehetővé.

Konténerhajó

A Containership a többfelhős Kubernetes infrastruktúra telepítésének és kezelésének lehetővé tételére szolgál. Rugalmas, hogy egyetlen eszközzel működjön nyilvános, privát felhőben és helyszíni környezetben. Lehetővé teszi a Kubernetes-fürtök biztosítását, kezelését és figyelését az összes fő felhőszolgáltatónál.

A Containership olyan felhőalapú natív eszközökkel épül fel, mint például a Terraform a kiépítéshez, a Prometheus a figyeléshez és a Calico a hálózatépítéshez és a szabályzatkezeléshez. Vanília Kubernetes tetejére épül. A Containership platform intuitív irányítópultot, valamint erőteljes REST API-t kínál a komplex automatizáláshoz.

Jellemzők

  • Multicloud Dashboard
  • Ellenőrzési naplók
  • GPU példány támogatás
  • Nem zavaró frissítések
  • Ütemezett mesterek
  • Integrált mérőszámok
  • Valós idejű naplózás
  • Leállás nélküli telepítések
  • Állandó tárolási támogatás
  • Privát regisztrációs támogatás
  • Munkaterhelés automatikus skálázása
  • SSH kulcskezelés

AZK

AZK egy nyílt forráskódú hangszerelési eszköz fejlesztői környezetekhez egy manifest fájlon (az Azkfile.js) keresztül, amely segít a fejlesztőknek telepíteni, konfigurálni és futtatni az általánosan használt eszközöket a webalkalmazások különböző nyílt forráskódú technológiákkal történő fejlesztéséhez.

  Mi a Great Wolf Lodge lemondási szabályzata?

Az AZK konténereket használ virtuális gépek helyett. A konténerek olyanok, mint a virtuális gépek, jobb teljesítménnyel és alacsonyabb fizikai erőforrás-felhasználással.

Azkfile.js fájlok újra felhasználhatók új összetevők hozzáadásához vagy újak létrehozásához a semmiből. Megosztható, ami teljes paritást biztosít a fejlesztői környezetek között a különböző programozói gépeken, és csökkenti a hibák esélyét a telepítés során.

GKE

GKE teljes körűen felügyelt megoldást kínál a konténeralkalmazások összehangolására a Google Cloud Platformon. A GKE-fürtöket a Kubernetes hajtja. A Kubernetes CLI használatával interakcióba léphet a fürtökkel. A Kubernetes parancsok használhatók alkalmazások üzembe helyezésére és kezelésére, adminisztrációs feladatok végrehajtására, házirendek beállítására és a telepített munkaterhelések állapotának figyelésére.

Kép a GCP által

A Google Cloud fejlett felügyeleti funkciói a GKE-fürtökhöz is elérhetők, például a Google Cloud terheléselosztása, csomópontkészletei, a csomópontok automatikus skálázása, automatikus frissítések, csomópontok automatikus javítása, naplózása és figyelése a Google Cloud műveleti csomagjával.

A Google Cloud CI/CD-eszközöket biztosít az alkalmazástárolók létrehozásához és kiszolgálásához. A Cloud Build segítségével tárolóképeket (például Dockert) hozhat létre különféle forráskód-tárolókból, a Container Registry segítségével pedig tárolhatja a tárolóképeket.

A GKE egy vállalati használatra kész megoldás előre elkészített telepítési sablonokkal.

Érdekel a GKE tanulása? Nézd meg ezt kezdő tanfolyam.

AKS

AKS az Azure által kínált, teljesen felügyelt Kubernetes szolgáltatás, amely kiszolgáló nélküli Kubernetes szolgáltatást, biztonságot és irányítást kínál. Az AKS kezeli a Kubernetes-fürtöt, és lehetővé teszi a konténeres alkalmazások egyszerű üzembe helyezését. Az AKS automatikusan konfigurálja az összes Kubernetes fő- és csomópontot. Csak az ügynökcsomópontokat kell kezelnie és karbantartania.

Kép az Azure-tól

Az AKS ingyenes; csak a fürtön belüli ügynökcsomópontokért fizet, a mesterekért nem. Létrehozhat egy AKS-fürtöt az Azure Portalon vagy programozottan. Az Azure olyan további szolgáltatásokat is támogat, mint a fejlett hálózatkezelés, az Azure Active Directory integráció és az Azure Monitor használatával történő figyelés.

Az AKS a Windows Server-tárolókat is támogatja. A fürt és a telepített alkalmazások teljesítménye az Azure Monitorból figyelhető. A naplókat egy Azure Log Analytics munkaterületen tárolják.

Az AKS Kubernetes-konformansnak minősítette.

AWS EKS

AWS EKS egy teljes körűen felügyelt Kubernetes szolgáltatás. Az AWS lehetővé teszi az EKS-fürt futtatását az AWS Fragrate használatával, amely egy kiszolgáló nélküli számítás a tárolók számára. Az Fragrance szükségtelenné teszi a szerverek biztosítását és kezelését, lehetővé téve az erőforrásonkénti fizetést alkalmazásonként.

Az AWS további funkciók használatát teszi lehetővé az EKS-sel, mint például az Amazon CloudWatch, az Amazon Virtual Private Cloud (VPC), az AWS Identity, az Auto Scaling Groups és az Access Management (IAM), monitorozási, méretezési és terheléselosztási alkalmazások. Az EKS integrálódik az AWS App mesh-be, és natív Kubernetes élményt biztosít. Az EKS a legújabb Kubernetes-et futtatja, és Kubernetes-konformans tanúsítvánnyal rendelkezik.

Következtetés

Végül remélem, hogy a fenti lista megfelelő megértést adott a különféle konténer-hangszerelési eszközökről, és most a használati esettől függően könnyebb lesz kiválasztani a legjobbat.

Ezután ismerje meg a Kubernetes felügyeleti szoftvert.