Vlastní Docker cluster rubrika: Administrace: Software
Ahoj,
ve firmě nám zbylo pár starších serverů a rádi bysme na nich rozjeli Docker cluster pro vnitrofiremní aplikace. Po nějakém pátrání po netu jsme skončili u trojice Kubernetes, Docker Swarm a DC/OS, mezi kterými se rozhodujeme. Zajímalo by mě tedy, jestli máte někdo s některým řešením dlouhodobou zkušenost (ať už pozitivní nebo i negativní), ideálně už z produkčního nasazení. Má některé z řešení nějaké zásadní výhody nebo nedostatky?
Nějaké podrobnější info:
- začínáme na čisto, takže nepotřebujeme řešit kompatibilitu s existujícími tooly
- podmínkou je nějaké GUI (občas je potřeba vedení ukázat že tady je nějaký server a něco na něm běží)
- mělo by to jet v HA (multi master)
- na ozkoušení bysme provozovali několik interních PHP aplikací
- pokud se ale řešení osvědčí, postupně bysme chtěli převést i další (několik Node služeb, JIRA apod.)
Díky..
Kubernetes jsem nasazoval v Liftago (https://www.liftago.com/) a teď v Bayo (http://try.getbayo.com/ http://facebook.com/bayoapp), @klatys už odkazoval na talk, co jsem měl na Symfony srazu - https://www.youtube.com/watch?v=3L4_xNw_ZE8
Můžu to dost doporučit. Varuji, že třeba oproti Docker Swarm je Kubernetes na začátku o tom opravdu pořádně přečíst dokumentaci a pochopit všechny pojmy (ve Swarmu stačí pochopit, že existuje manager a jednotlivé nody; Kubernetes přichází s termíny Nodes, Pods, Volumes, Replication Controllers, Services ad.). Na druhou stranu tyhle vrstvy abstrakce navíc umožňují dost jednoduše nahazovat nové aplikace, ať jsou napsané v čemkoli a jakkoli.
Ohledně jednotlivých bodů:
- GUI - existuje starší https://github.com/kubernetes/kube-ui a novější https://github.com/kubernetes/dashboard, krom toho ještě instalační skripty (https://github.com/kubernetes/kubernetes/tree/master/cluster) automaticky nahazují Grafana/Heapster pro sledování využití nodů + Kibanu pro hledání v logách
- HA
- Oficiální návod pro HA master komponent (etcd, apiserver, controller-manager, scheduler) http://kubernetes.io/docs/admin/high-availability/
- Verze 1.2 přinesla (zatím jako beta feature) označování nodů, do jakého datacentra patří, takže v aplikacích lze řešit i multi-AZ HA http://blog.kubernetes.io/2016/03/building-highly-available-applications...
- A do nějaké budoucí je plánované i např. pohled na více clusterů jako na jeden http://kubernetes.io/docs/admin/multi-cluster/
- Kubernetes v setupovacích skriptech odkazovaných výše většinou používá SaltStack pro konfiguraci jednotlivých nodů. Pokud by tě zajímala konfigurace nodů přes Ansible, trochu jsem si s tím hrál tady https://github.com/jakubkulhan/kube-jessie-ansible
- Doporučuju na PHP Docker image založené na Debian Jessie a Dotdeb balíčcích :) https://github.com/jakubkulhan/dockerfiles
Pro zobrazení všech 6 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře