Odpovídáte na názor k článku MicroK8s: tři roky zkušeností s Kubernetes v Ubuntu. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
Pro pochopení a správné fungování Kubernetes, je důležitá příprava Vaší instance, aby jste měli naprostou kontrolu nad celým systémem. Bude k tomu zapotřebí funkce pro intel vt-d a vt-x a pro amd-v.
Doporučení:
1. Připravte si čistou Linuxovou distribuci nazvanou control-center, nejlépe formou virtualizace.
Pro virtualizaci na Windows můžete použít WSL, Hyper-V a nebo jiný hypervizor. Doporučuji použít vmware.
Pro virtualizaci na Linux doporučuji použít /dev/kvm s nástrojem virt.
Nedoporučuji pro virtualizaci linux používat docker obrazy.
2. V případě, že je Váš výchozí systém Windows a použili jste hypervizor vmware, tak ještě před vytvořením virtualizace deaktivujte features windows subsystem linux, hyper-v a machine virtualization. Tím docílíte toho, že můžete provádět vnořenou virtualizaci na linuxové distribuci.
3. Jakmile máte připravenou čistou distribuci, proveďte zálohu pro okamžité a rychlé obnovení v případě failu.
4. Po nasazení control-center, vytvořte vnořenou virtualizaci na linuxové distribuci pomocí KVM, tím docílíte izolace vrstvy kubernetes clusteru.
Toto řešení je vhodné pro izolaci síťového rozhraní Vašeho uzlu.
Pokud máte dostatek jader a ram pamětí, tak doporučuji vytvořit DEV,TEST,PROD. Tím získáte více uzlů a můžete testovat vývoj až do produkčního prostředí.
5. Nainstalujte nástroj ansible a vytvořte ansible playbooky pro instalaci kubernetes clusteru a pro nasazování projektů.
Na github existuje mnoho hotových playbooků a případnou úpravu nebo konfiguraci můžete přízpůsobit vlastním potřebám.
Proč doporučuji toto komplikované řešení pro vývoj v kubernetes ?
Lépe porozumíte fungování kubernetes a rovnou při nasazování Vašich projektů získáte přehled o tom, jak složitá je produkce.
Použít řešení docker, docker-compose je sice fajn a tisíckrát jednodušší, ale je to strašně na hony vzdálené od produkčního prostředí a pro produkci to nedoporučuji.
Pokud chcete, aby Váš produkt běžel v moderním produkčním prostředí, je nutné mít představu o detailním fungování kubernetes.
Pro nasazování nedoporučuji používat HELM.
Helm Vám to zjednoduší, ale zase Vám úplně zkreslí možnosti konfigurace kubernetes deploymentů.
V HELM jsem se setkal s nestabilitou a při častém nasazování nedokázal zničit běžící pody. Pak vyžadoval ruční zásah a ta automatizace pro mě ztratila potenciál. Raději čisté deployments aplikované pomocí kubectl 100% stabilita, funkčnost a možnost vlastní automatizace konfigurace.
Pokud máte případné dotazy, jsem Vám k dispozici.