Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kontajnery v produkcii na vlastnej infraštruktúre - LinuxDays 2019

Fero Volar
October 06, 2019

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 Volar

October 06, 2019
Tweet

More Decks by Fero Volar

Other Decks in Technology

Transcript

  1. 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
  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
  3. 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
  4. 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
  5. “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
  6. 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
  7. Docker cri-o rkt Apache Mesos Containerizer LXC ... 19 engine

    Ten najpopulárnejší či radšej alternatívu? @websupport_tech www.websupport.sk
  8. Kubernetes Docker Swarm Apache Mesos Hashicorp Nomad azk.io 20 orchestrácia

    Počet kontajnerov, automatizované nasadenie, škálovanie a manažment @websupport_tech www.websupport.sk
  9. orchestrácia Počet kontajnerov, automatizované nasadenie, škálovanie a manažment 21 @jano_cifra

    www.websupport.sk Docker Swarm Kubernetes jednoduchá a rýchla inštalácia ✅ krivka učenia ✅ PoC ✅ prechod z Dockeru ✅ pokročilá konfigurácia ✅ škálovanie ✅ komunita a ekosystém ✅ veľké clustre ✅ veľké teamy ✅ "handling the unknown" ✅ GUI ✅
  10. 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
  11. Portworx Ceph Rook GlusterFS OpenEBS Cinder NFS 23 storage Druhá

    najkritickejšia… @websupport_tech www.websupport.sk
  12. Prometheus webhook -> Zabbix Slack, email Monitoring-as-a-service Sysdig Datadog 24

    monitoring Zdravie vášho clustera @websupport_tech www.websupport.sk
  13. 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
  14. @websupport_tech www.websupport.sk 27 CI/CD Registry Service mesh (Istio, Consul, Linkerd,

    …) testovanie (test-infra, kubeval, kube-monkey, …) zálohovanie (ETCDCTL_API=3 ./etcdctl snapshot save snapshot.db... ) Čo chýba
  15. kops - Kubernetes Operations (AWS ready, GCE and OpenStack beta,

    VMware vSphere alpha) kubespray - AWS, GCE, Azure, OpenStack, vSphere, Packet (bare metal), Oracle Cloud Infrastructure (Experimental) a bare-metal tk8 - AWS, OpenStack, Nutanix, bare-metal SAP gardener - (GUI); AWS, Azure, GCP, OpenStack 29 Inštalátory Uľahčujú deployment Kubernetes na vašu infraštruktúru a aktualizáciu @websupport_tech www.websupport.sk
  16. OKD, RedHat OpenShift Canonical Kubernetes Mesosphere DC/OS (D2IQ) Suse Kubic

    (cri-o), Suse CaaS platform CoreOS, Flatcar Linux RancherOS OpenStack Magnum Docker Kubernetes Service (DKS) Kontena Pharos Pivotal Container Service (PKS) 30 distribúcie Celý ekosystém, otvorené aj komerčné, aktualizácie @websupport_tech www.websupport.sk
  17. 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
  18. Produkcia 1 3 4 Monitoring, bezpečnosť, upgrade, CI/CD Skoro hotovo

    Prípadne Docker Swarm Kubernetes Docker Konfiguračný manažment a automatizácia 39 @websupport_tech www.websupport.sk 2 HA, škálovanie, Git
  19. 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
  20. 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
  21. 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
  22. ž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
  23. 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