Azure Kubernetes Service bez mašin aneb virtuální nody

Kubernetes mám strašně rád, ale jedna věc mi v cloudu nesedí. Chápu, že ve vlastním datovém centru budu rád, že Kubernetes se postará o moje nody a pomůže mi na ně spravedlivě umisťovat kontejnery. To je skvělé. Ale cloud je přeci alespoň teoreticky neomezený zásobník zdrojů a platím jen za to, co používám. Chci si škálovat aplikační Pody a ne u toho přemýšlet, jak velký mám cluster pod tím a jak se mi to na nody poskládá. Azure Kubernetes Service vyřeší spoustu infrastrukturních otázek tím, že si povídá s Azure – síťařina, externí balancing, Volumy, servisní katalog (např. databáze), v budoucnu L7 proxy apod. Co kdyby ale AKS bylo tak cloudové, že mne nody nebudou vůbec zajímat co do jejich přítomnosti nebo sizingu a můžu se soustředit jen na Pody se svými aplikacemi? Právě to je v Azure Kubernetes Service od tohoto týdne v preview. Pokračovat ve čtení „Azure Kubernetes Service bez mašin aneb virtuální nody“

Kubernetes prakticky: integrace Azure služeb díky servisnímu katalogu

Obvykle doporučuji stavové záležitosti typu databáze nebo fronta nedávat do Kubernetes clusteru, ale využít plně spravované PaaS řešení v Azure. Je spolehlivé, bezpečné, bez práce a hlavně udržitelné (nemusím nic patchovat, upgradovat ani si stále zkoušet, že moje provisioning skripty fungují i s novější verzí). Ale mám postupovat tak, že si to v Azure naklikám a přes schránku nakopíruju do příkazu pro Kubernetes Secret? To v rámci CI/CD není tak pohodlné. A co to nějak naskriptovat? To rozhodně jde, ale musím to vymyslet a připravit. Jenže přesně na tohle už řešení je – projekt Open Service Broker, který to dělá jak pro Kubernetes, tak Cloud Foundry, Open Shift nebo Service Fabric. Pojďme se dnes podívat na kombinaci Kubernetes, Service Catalog a Open Service Broker for Azure. Pokračovat ve čtení „Kubernetes prakticky: integrace Azure služeb díky servisnímu katalogu“

Service Fabric očima Kubernetes správce: architektura a kdy co použít

Pro moderní nasazování aplikací jsou dvě výborné technologie, které jsou obě v Azure, obě dostupné v on-premises a jiných cloudech, obě jsou (alespoň částečně a v budoucnu úplně) open source. Jedna je Service Fabric a druhá Kubernetes. Já jsem čas investoval především do té druhé, ale Service Fabric má některé zásadní unikátní výhody. Pokud už trochu znáte Kubernetes pojďme se na Service Fabric podívat jeho očima a terminologií. Dnes začneme pohledem na architekturu a pozicování. Pokračovat ve čtení „Service Fabric očima Kubernetes správce: architektura a kdy co použít“

Kubernetes prakticky: finty pro ovládaní aneb kdy CLI a kdy GUI a jaké

Ovládání Kubernetes je velmi milé a přirozené a osobně toho hodně dělám přímo z příkazové řádky s použitíme kubectl. Podívejme se dnes na pár fintiček, které mám rád. A co GUI? Kubernetes nabízí svůj dashboard, ale AKS cluster má krásnou monitorovací záložku a je tu také plug-in do Visual Studio Code. Kdy co použít a co bych preferoval já? Pokračovat ve čtení „Kubernetes prakticky: finty pro ovládaní aneb kdy CLI a kdy GUI a jaké“

Kubernetes prakticky: advanced scheduling

Azure Kubernetes Service automaticky dává vaše Pody na vhodné Nody včetně zajištění vysoké dostupnosti rozhazováním Deploymentů na Nody z různých fault domén. Přesto někdy můžete potřebovat scheduler ovlivnit a implementovat svoje specifické potřeby kde se mají vaše Pody objevit. Pojďme se podívat na Node affinitu, Pod affinitu a anti-affinitu, Taint a Pod prioritu. Pokračovat ve čtení „Kubernetes prakticky: advanced scheduling“

Kubernetes prakticky: zrod, život a smrt kontejnerů

Azure Kubernetes Service se o vaše kontejnery krásně postára, to už víte. Zkoušíte si jak to krásně funguje s demo příklady a pak tam dáte svojí aplikaci. V ten okamžik je na čase podívat se na životní cyklus kontejnerové instance. Jak řešit iniciační procesy? Jak kontrolovat health aplikace? Jak signalizovat přetížení nebo to, že startujete a ještě nejste připraveni? Jak korektně umírat? Pokračovat ve čtení „Kubernetes prakticky: zrod, život a smrt kontejnerů“

Kubernetes prakticky: Azure Container Registry

Kam s kontejnerovými obrazy? Do registru. Zní to dost triviálně. Azure Container Registry ale není jen o uložení diskového obrazu. K dispozici máte řízení přístupu integrované do Azure Active Directory (a potažmo vašeho AD), build as a service (sestaví vám kontejner rovnou v cloudu, nemusíte to dělat na svém notebooku), automatizované buildy, webhooky nebo globální replikaci. ACR můžete integrovat do svých vývojových nástrojů, CI/CD nebo navázat na akce třeba s Logic App a posílat si zprávy emailem nebo do nějakého moderního komunikačního nástroje jako jsou Microsoft Teams. Pokračovat ve čtení „Kubernetes prakticky: Azure Container Registry“

Kubernetes prakticky: jak na více než jeden proces

Jste zvyklí spouštět u své aplikace více, než jeden proces, třeba pro vzdálený přístup, debugovací proces či pattern typu adaptér nebo ambasador? Jak na to v Kubernetes? Mám mít víc procesů v kontejneru a pokud ano, jak to udělat? Nebo mám mít každý proces ve svém, ale dát je do jednoho Podu? Nebo použít víc Podů a umístit je na stejný server? Podívejme se na možnosti. Pokračovat ve čtení „Kubernetes prakticky: jak na více než jeden proces“

Kubernetes prakticky: předávání konfigurací aplikacím v kontejnerech

Kontejnerový image s aplikací je immutable a obraz vybudovaný v rámci Continuous Integration pro vývoj a testování má být naprosto identický jako ten, který se přes staging dostane až do produkce například v rámci Continuous Deployment procesu. Pak je tedy potřeba mít schopnost ovlivnit aplikační nastavení mimo samotný kontejnerový image – connection stringy, klíče pro API, certifikáty, feature flagy a tak podobně. Jak je do kontejneru dostat při používání Kubernetes? Pokračovat ve čtení „Kubernetes prakticky: předávání konfigurací aplikacím v kontejnerech“

Použití Azure Container Instances pro skriptování uvnitř ARM šablony: Azure PostgreSQL a nahrání dat

To, že můžete spustit kontejner přímo v Azure díky ACI má i jedno zajímavé použití. Lze to nasadit pro spuštění nějakého skriptu s tím, že platíte jen za jeho běh, po ukončení skriptu se ukončí i kontejner. Uvnitř může běžet cokoli – v jakémkoli jazyce, Linux i Windows, binárky. Pokud to zakomponujeme do ARM šablony můžeme dokonfigurovat naše prostředí. Ukažme si to na příkladu vytvoření Azure Database for PostgreSQL a nahrání sady testovacích dat do DB. Pokračovat ve čtení „Použití Azure Container Instances pro skriptování uvnitř ARM šablony: Azure PostgreSQL a nahrání dat“