MiniKube v AWS za 30 minut

Přiznám se, že k instalaci něčeho na můj počítač jsem se moc neměl, počítačů totiž používám několik, a nechtěl jsem mít nic lokálně, a ani se mi na mém domácím serveru nechtělo patlat s veškerým nastavením a deploymentem.

Zpočátku jsem zvažoval, že bych využil 100 USD kredit, který nyní hojně nabízí DigitalOcean, co mě ovšem u DigitalOcean zklamalo byla nemožnost mašinu v případě nevyužívání vypnout, tak jako to jde v AWS, kde vám jsou po vypnutí mašiny účtovány poplatky pouze za využitý prostor, ale ne za procesorový čas.

Rozhodl jsem se tedy pro AWS, moje první volba padla hned na projekt AWS MiniKube, jedná se o docela zajímavý projekt, který vám umožní rozjet Kubernetes v AWS na jedné instanci za 30 minut.

Nejdříve mě zajímalo, kolik to bude stát, takže hezky popořadě

  • VPC (Virtual Private Cloud Network) – zdarma
  • Route53 (Směřování domén) – 0,5 USD/měsíc
  • Úložiště pro mašinu (SSD 50GB) – cca. 5 USD/měsíc
  • Mašina (t2.medium) – 0,05 USD/hodina, platíte jen čas kdy mašinu využíváte a je zapnutá

To mi přišlo jako rozumná částka, tak jsem se dal do instalace. První věc co na mě vybafla bylo, že potřebuji nastavit VPC, a mám to jako udělat přes skripty https://github.com/scholzj/aws-vpc pro TerraForm. Vůbec jsem netušil co to je Terraform, ale je to vcelku něco jako Ansible pro nastavování cloudu v AWS. Prostě konfigurační nástroj, jednoduše si stáhnete ZIP, rozbalíte v Linuxu binárku, a po zklonování GIT repozitáře se šablonou vše můžete pustit, a cloud se automaticky nastaví, vychytané!

Poté zbývalo nakonfigurovat DNS záznamy. Nechtěl jsem využívat vlastní doménu, a tak mě zajímalo, jestli můžu delegovat pro zprávu subdomény samostatné zóny. A hle, lze to (návod: Creating a Subdomain That Uses Amazon Route 53 as the DNS Service without Migrating the Parent Domain). Přihlásil jsem se na Cloudflare (můj správce NS záznamů), a pro mojí novou subdoménu jsem nastavil nameservery na Route53. Změna se projevila během 5ti minut. Takže jsem měl novou zónu spravovanou u AWS, jak chytré milý Watsone.

Nezbývalo nic jiného než instalace AWS Minikube, to byla otázka vysloveně 10ti minut. Nejdříve na mě vyhrkla příkazová řádka nějakou chybu s licencí, a tak jsem musel u AWS odsouhlasit licenci pro CentOS (zdarma), poté jsem jenom vše spustil znovu a na mašinu se přihlásil na adresu jméno-minikube.subdoména.enigma14.eu.

Přihlásil jsem se pomocí uživatelského jména centos (což bohužel nebylo nikde zmíněno, a přišel jsem na to až na několikátý pokus), a zjistil jsem, že mám rozběhanou testovací verzi Kubernetes.

No řeknu vám, nebylo to úplně jednoduché, ale taky ne nemožné, během pár desítek minut se mi podařilo hravě projít celým procesem a nějaké výraznější záseky jsem nenašel.

Důvod proč vše pouštím v cloudu je ten, že do budoucna bych chtěl otestovat rozsáhlejší clusterované řešení, a je mi jasné, že u mě doma na počítači či na nějakém serveru by to bylo mnohem komplikovanější než pomocí jednoduchých šablon s Terraform v cloudu.