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?
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í.
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.
Prostředky
Videa, webináře, ukázky a technické prezentace
Kurzy a dokumentace
- Zobrazit strategie nasazení Kubernetes
- Instalace rozšíření Dockeru v sadě Visual Studio
- Spuštění imagí kontejneru v Kubernetes
- Škálování aplikace a infrastruktury Kubernetes
- Aktualizace aplikace běžící v Kubernetes
- Upgrade clusteru AKS
- Absolvovat workshop k Azure Kubernetes umožňující postupovat vlastním tempem
- Zobrazit šablony Azure pro rychlé zprovoznění Kubernetes
Komunita open source
Připojte se k ostatním uživatelům AKS na GitHubu, na konferenci KubeCon nebo na setkání Kubernetes Meetup ve vašem okolí.