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

1e51bac0c2811ff229dfc873616e5f01?s=47 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.

1e51bac0c2811ff229dfc873616e5f01?s=128

Fero Volar

October 06, 2019
Tweet

Transcript

  1. 2.

    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. 5.
  3. 6.

    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
  4. 9.

    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
  5. 11.

    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
  6. 12.

    “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
  7. 14.

    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
  8. 15.
  9. 16.
  10. 18.
  11. 19.

    Docker cri-o rkt Apache Mesos Containerizer LXC ... 19 engine

    Ten najpopulárnejší či radšej alternatívu? @websupport_tech www.websupport.sk
  12. 20.

    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
  13. 21.

    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 ✅
  14. 22.

    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
  15. 23.

    Portworx Ceph Rook GlusterFS OpenEBS Cinder NFS 23 storage Druhá

    najkritickejšia… @websupport_tech www.websupport.sk
  16. 24.

    Prometheus webhook -> Zabbix Slack, email Monitoring-as-a-service Sysdig Datadog 24

    monitoring Zdravie vášho clustera @websupport_tech www.websupport.sk
  17. 25.

    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
  18. 27.

    @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
  19. 29.

    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
  20. 30.

    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
  21. 31.
  22. 33.
  23. 35.
  24. 37.

    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
  25. 39.

    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
  26. 40.

    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
  27. 41.
  28. 42.
  29. 43.

    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
  30. 44.

    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
  31. 45.

    ž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
  32. 48.

    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
  33. 49.