Slide 1

Slide 1 text

Kontajnery v produkcii na vlastnej infraštruktúre Fero Volár

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

3 websupport Loopia Group @websupport_tech www.websupport.sk

Slide 4

Slide 4 text

tl;dr Ak nemusíte, tak to nerobte 4 @websupport_tech www.websupport.sk

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

7 1. prečo on-premise? @websupport_tech www.websupport.sk

Slide 8

Slide 8 text

Výhody kontajnerov v public cloude 8 @websupport_tech www.websupport.sk

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

prečo on-premise 10 @websupport_tech www.websupport.sk

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

“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

Slide 13

Slide 13 text

Čo je to produkčný kontajnerový cluster? 13 @websupport_tech www.websupport.sk

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

17 2. komponenty @websupport_tech www.websupport.sk

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Docker cri-o rkt Apache Mesos Containerizer LXC ... 19 engine Ten najpopulárnejší či radšej alternatívu? @websupport_tech www.websupport.sk

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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 ✅

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Portworx Ceph Rook GlusterFS OpenEBS Cinder NFS 23 storage Druhá najkritickejšia… @websupport_tech www.websupport.sk

Slide 24

Slide 24 text

Prometheus webhook -> Zabbix Slack, email Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech www.websupport.sk

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

@websupport_tech www.websupport.sk 26

Slide 27

Slide 27 text

@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

Slide 28

Slide 28 text

pomocníci 28 @websupport_tech www.websupport.sk

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

32 Hierarchia potrieb pri kontajneroch @websupport_tech www.websupport.sk

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

34 3. Poučenia a odporúčania @websupport_tech www.websupport.sk

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

ZMENA 36 @websupport_tech www.websupport.sk

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

ako začať? 38 @websupport_tech www.websupport.sk

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

ž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

Slide 46

Slide 46 text

plán B 46 @websupport_tech www.websupport.sk

Slide 47

Slide 47 text

plán B 47 @websupport_tech www.websupport.sk

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

Ďekuji! @websupport_tech