Kontajnery v produkcii na vlastnej infraštruktúre - LinuxDays 2019
Ako náročné a bezpečné je prevádzkovať kontajnery v produkcii? Krátke rozprávanie o tom, čo všetko znamená návrh on-premise riešenia a z akých komponentov sa skladá. Prihliadajúc najmä na obľúbený Docker a Kubernetes.
Fero Volár H E A D O F S E R V E R P R O D U C T S Pôsobím v ! spoločnosti WebSupport, kde už 5 rokov spravujem ☁ cloudové produktové portfólio a vediem obchodný B2B team. Mám 15+ ročné skúsenosti ako senior admin, solution architect a konzultant. I ❤ containers. Zdravím #linuxdays @websupport_tech 2
Prečo on-premise? Aké bývajú dôvody na vlastný produkčný setup kontajnerovej platformy Komponenty 02. Z akých najdôležitejších častí sa kontajnerový cluster skladá + nástroje na deployment 01. Poučenia a odporúčania 03. Najčastejšie úskalia vlastného riešenia 6 www.websupport.sk
nezávislosť na platforme efektívna izolácia a zdieľanie zdrojov efektivita zdrojov ale aj možnosti škálovania rýchlosť: spustenie, vytvorenie, … jednoduchá operatíva zlepšená produktivita vývojárov a vývojového procesu bohatý ekosystém automatizácia manuálnych procesov nižšie náklady na deployment … 9 Výhody kontajnerov v public cloude @websupport_tech www.websupport.sk
nevhodný model prevádzky upgrade plná kontrola sieťové obmedzenia, latencia, traffic do ČR bezpečnosť, špeciálne pravidlá a smernice HW zdroje vo firme vendor lock: sieť, storage, manažment prístupov, … 11 najčastejšie Dôvody Prečo vlastne riešiť vlastný produkčný setup kontajnerovej platformy namiesto public cloudu @websupport_tech www.websupport.sk
“uklepnutie sa” (Mistake that cost thousands) nie sú medzi nami: hyper.sh, containership, nanobox Kubernetes Failure Stories (k8s.af) 12 Ďalšie Dôvody … lebo ich nikdy nie je dosť @websupport_tech www.websupport.sk
cluster, ktorý je rozumne zabezpečený komponenty clustera sú vysoko dostupné pre potreby používateľov zmeny v clusteri sú bezpečné (upgrade & rollback) deklaratívny manažment akýkoľvek nod môže byť nahradený, akýkoľvek kontajner môže byť znovu vytvorený 14 Produkcia Čo je to produkčný cluster? @websupport_tech www.websupport.sk
Flannel - menšie a nenáročné setupy WeaveNet - ak potrebujete šifrovanie siete Calico - BGP features Canal (Flannel + Calico ako FW) Cilium Kube-router porovnanie CNI na 10Gbit/s network K8s 22 networking Jedna z najkritickejších častí @websupport_tech www.websupport.sk
EFK - Elasticsearch, Fluentd a Kibana Fluentd LogTrail kubelogs 25 logy Čím viac zmien robíte, tým dôležitejšie sú logy @websupport_tech www.websupport.sk
GitOps (team) “kontajnerizovanie” aplikácie bare-metal vs. virtualizácia škálovanie, využitie zdrojov veľkosť imidžov upgrade bezpečnosť 37 úskalia vlastného rieŠenia Pain points @websupport_tech www.websupport.sk
service discovery image management vulnerability scanner deployment process access control service mesh horizontal autoscaling backup upgrade infrastructure package manager 40 Čo Ďalej Next steps @websupport_tech www.websupport.sk
nemusíte hneď všetko prerábať na microservices - containerize as-is vyberte správny image, aktualizujte ho nainštalujte potrebné balíčky pridajte vaše dáta zadefinujte otvorené porty 43 kontajnerizácia Postupne @websupport_tech www.websupport.sk
FROM latest špecifikovať verziu kritických balíčkov (apt, yum, …) defaultne nakonfigurované aplikácie (DB, PHP, Java, ...) - používať ENV, RUN, ENTRYPOINT Alpine radšej neskôr - začať s tradičnou distribúciou 44 Dockerfile Menší imidž je lepší @websupport_tech www.websupport.sk
žiadne kontajnery bežiace pod root-om šifrovanie komunikácie medzi kontajnermi kontajner má prístup len k zdrojom, ktoré potrebuje limitujte zdroje (storage, compute, memory, network) neukladať prístupové údaje v kontajneroch pre Kubernetes zapnúť Role-Based Access Control (RBAC) Namespaces v Kubernetes infraštruktúra (OS, firmware, …) 45 Bezpečnosť Security, security, security @websupport_tech www.websupport.sk
A curated list for awesome Kubernetes sources A curated list of Docker resources and projects stackshare.io bit.ly/kubeweekly newsletter Slack: Kubernetes, Docker 48 odporúčané zdroje Kam ďalej @websupport_tech www.websupport.sk