Přeskočit navigaci

Kubernetes a Docker

Vytvářejte, doručujte a škálujte aplikace rychleji s využitím technologií kontejnerů, které fungují lépe dohromady.

Zásadní otázka: Kubernetes, nebo Docker?

Konverzace ohledně Kubernetes a Dockeru má často podobu otázky buď, a nebo: mám použít Kubernetes, nebo Docker? Je to jako porovnávat jablka s jablečným koláčem. To, že si musíte vybrat buď jedno, nebo druhé řešení, je běžná mylná představa.

Rozdíl mezi Kubernetes a Dockerem je snadnější pochopit, když otázku položíme jako Obě řešení a co dál? Pravdou je, že si nemusíte vybírat – Kubernetes a Docker jsou zásadně odlišné technologie, které dobře fungují dohromady a společně umožňují vytvářet, doručovat a škálovat kontejnerizované aplikace.

Docker a vzestup kontejnerizace

Docker je opensourcová technologie (a formát souboru kontejnerů) umožňující automatizaci nasazování aplikací jako přenositelných a soběstačných kontejnerů, které je možné spustit v cloudu nebo v místním prostředí. Docker, Inc., přestože sdílí podobný název, je jednou ze společností, která ve spolupráci s poskytovateli cloudových služeb, jako je Microsoft, rozvíjí opensourcovou technologii Dockeru tak, aby mohla běžet v Linuxu a ve Windows.

Myšlenka izolace prostředí není nová a existují další typy softwaru umožňujícího kontejnerizaci, ale Docker se v posledních letech stal výchozím formátem kontejnerů. Docker zahrnuje běhové prostředí – modul Docker. Umožňuje vytvářet a spouštět kontejnery na jakémkoli počítači pro vývoj a následně ukládat nebo sdílet image kontejnerů prostřednictvím registru kontejnerů, jako je Docker Hub nebo Azure Container Registry.

S tím, jak se aplikace rozšiřují do více kontejnerů nasazených na různých serverech, se jejich provoz stává čím dál složitější. Přestože Docker poskytuje otevřený standard pro balení a distribuci kontejnerizovaných aplikací, rychle můžou přibývat potenciální komplikace. Jak budete koordinovat a plánovat velké množství kontejnerů? Jak budou všechny ty různé kontejnery ve vaší aplikací vzájemně komunikovat? Jak zajistíte škálování velkého množství instancí kontejnerů? S těmito problémy vám může pomoct Kubernetes.

Kubernetes a orchestrace kontejnerů

Kubernetes je opensourcový software pro orchestraci, který nabízí rozhraní API umožňující řídit, jak a kde se kontejnery budou spouštět. Díky tomu můžete spouštět úlohy a kontejnery Dockeru a získáte také pomoc s řešením některých provozních komplikací při přechodu na škálování několika kontejnerů nasazených napříč několika servery.

Kubernetes umožňuje orchestrovat cluster virtuálních počítačů a plánovat spouštění kontejnerů na těchto virtuálních počítačích v závislosti na jejich dostupných výpočetních prostředcích a požadavcích jednotlivých kontejnerů na prostředky. Kontejnery se seskupují do podů, což jsou základní provozní jednotky pro Kubernetes. Tyto kontejnery a pody můžete škálovat do požadovaného stavu a spravovat jejich životní cyklus, abyste zajistili nepřetržitý provoz aplikací.

Jaký je rozdíl mezi Kubernetes a Dockerem?

Přestože se běžně porovnává Kubernetes a Docker, vhodnější je porovnávat Kubernetes a Docker Swarm. Docker Swarm je technologie orchestrace Dockeru, která se zaměřuje na clustering kontejnerů Dockeru, je úzce integrovaná do ekosystému Dockeru a používá vlastní rozhraní API.

Zásadním rozdílem mezi Kubernetes a Dockerem je, že platforma Kubernetes je určená k provozu napříč clusterem, zatímco Docker běží na jednom uzlu. Platforma Kubernetes je rozsáhlejší než Docker Swarm a je určená k efektivní koordinaci clusterů uzlů ve velkém měřítku v produkčním prostředí. Pody Kubernetes (jednotky plánování, které můžou obsahovat jeden nebo více kontejnerů v ekosystému Kubernetes) se distribuují mezi uzly a zajišťují tak vysokou dostupnost.

Kubernetes a Docker – Společně to jde líp

Zatímco příslibem kontejnerů je možnost napsat kód jednou a pak ho spustit kdekoli, Kubernetes nabízí možnost orchestrovat a spravovat všechny prostředky kontejnerů v jedné řídicí rovině. Ta pomáhá se sítěmi, vyrovnáváním zatížení, zabezpečením a škálováním všech uzlů Kubernetes, na kterých jsou vaše kontejnery spuštěné. Kubernetes zahrnuje také integrovaný mechanismus izolace podobný oborům názvů, který umožňuje seskupovat prostředky kontejnerů podle přístupových oprávnění, přípravných prostředí a dalších parametrů. Tyto koncepty usnadňují IT pracovníkům poskytovat vývojářům samoobslužný přístup k prostředkům a vývojářům umožňují spolupracovat i na těch nejsložitějších architekturách mikroslužeb, aniž by museli napodobovat celou aplikaci ve vývojovém prostředí. Kombinace postupů DevOps s kontejnery a Kubernetes navíc zajišťuje základní architekturu mikroslužeb, která podporuje rychlé doručování a škálovatelnou orchestraci aplikací nativních pro cloud.

Stručně řečeno, Kubernetes s Dockerem umožnují následující:

  • Zajištění robustnější infrastruktury a vyšší dostupnosti aplikací. Vaše aplikace zůstane online, i když se některé z uzlů odpojí.
  • Zajištění větší škálovatelnosti aplikací. Pokud se začne výrazně zvyšovat zatížení vaší aplikace a budete potřebovat horizontálně rozšířit kapacitu, abyste mohli zajistit lepší uživatelské prostředí, můžete jednoduše aktivovat další kontejnery nebo přidat další uzly do clusteru Kubernetes.

Kubernetes a Docker fungují společně. Docker poskytuje otevřený standard pro balení a distribuci kontejnerizovaných aplikací. Pomocí Dockeru můžete vytvářet a spouštět kontejnery a ukládat a sdílet image kontejnerů. V clusteru Kubernetes můžete jednoduše spustit sestavení Dockeru, ale samotná platforma Kubernetes není kompletní řešení. Pokud chcete optimalizovat Kubernetes v produkčním prostředí, implementujte další nástroje a služby umožňující správu zabezpečení, zásad správného řízení, identit a přístupu společně s pracovními postupy CI/CD (kontinuální integrace / průběžné nasazování) a dalšími postupy DevOps.

Architektury řešení Kubernetes a Docker v produkčním prostředí

Mikroslužby s AKS

Využijte AKS ke zjednodušení nasazení a správy architektury založené na mikroslužbách. AKS zjednodušuje horizontální škálování, automatické opravy, vyrovnávání zatížení a správu tajných kódů.

Secure DevOps pro AKS

DevOps a Kubernetes – společně to jde líp. Implementací zabezpečených postupů DevOps v Azure společně s protokolem Kubernetes zajistíte správný poměr rychlosti a zabezpečení, který vám umožní rychleji doručovat kód ve velkém měřítku.

;

Využití silných stránek Kubernetes v Azure

Azure Kubernetes Service (AKS) usnadňuje nasazování a správu kontejnerizovaných aplikací. AKS nabízí Kubernetes bez serveru, integrované prostředí CI/CD a zabezpečení a zásady správného řízení na podnikové úrovni. Spojte své vývojové a provozní týmy na jediné platformě a umožněte jim rychle vytvářet, dodávat a škálovat aplikace bez obav.

Začínáme s Kubernetes a Dockerem