kontajnery v produkcii na vlastnej infraštruktúre · docker swarm kubernetes ......

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

Upload: others

Post on 20-May-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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

Page 2: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Fero VolárH 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

Page 3: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

3

websupportLoopia Group

@websupport_tech w w w.w e b s u p p o r t. s k

Page 4: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

tl;dr Ak nemusíte, tak to nerobte

4@websupport_tech w w w.w e b s u p p o r t. s k

Page 5: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 6: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Prečo on-premise?Aké bývajú dôvody na vlastný produkčný setup kontajnerovej platformy

Komponenty02. Z akých najdôležitejších častí sa kontajnerový cluster skladá

+ nástroje na deployment

01.

Poučenia a odporúčania03. Najčastejšie úskalia vlastného riešenia

6w w w.w e b s u p p o r t. s k

Page 7: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

7

1 . prečo on-premise?

@websupport_tech w w w.w e b s u p p o r t. s k

Page 8: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Výhody kontajnerov v public cloude

8@websupport_tech w w w.w e b s u p p o r t. s k

Page 9: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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 kontajnerovv public cloude

@websupport_tech w w w.w e b s u p p o r t. s k

Page 10: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

prečo on-premise

10@websupport_tech w w w.w e b s u p p o r t. s k

Page 11: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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ôvodyPrečo vlastne riešiť vlastný produkčný setup kontajnerovej platformy namiesto public cloudu

@websupport_tech w w w.w e b s u p p o r t. s k

Page 12: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

“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 w w w.w e b s u p p o r t. s k

Page 13: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Čo je to produkčný kontajnerový cluster?

13@websupport_tech w w w.w e b s u p p o r t. s k

Page 14: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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 w w w.w e b s u p p o r t. s k

Page 15: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 16: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 17: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

17

2 . komponenty

@websupport_tech w w w.w e b s u p p o r t. s k

Page 18: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 19: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Docker

cri-o

rkt

Apache Mesos Containerizer

LXC

...

19

engineTen najpopulárnejší či radšej alternatívu?

@websupport_tech w w w.w e b s u p p o r t. s k

Page 20: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Kubernetes

Docker Swarm

Apache Mesos

Hashicorp Nomad

azk.io

20

orchestráciaPočet kontajnerov, automatizované nasadenie, škálovanie a manažment

@websupport_tech w w w.w e b s u p p o r t. s k

Page 21: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

orchestráciaPočet kontajnerov, automatizované nasadenie, škálovanie a manažment

21@jano_cifra w w w.w e b s u p p o r t. s k

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 ✅

Page 22: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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

networkingJedna z najkritickejších častí

@websupport_tech w w w.w e b s u p p o r t. s k

Page 23: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Portworx

Ceph

Rook

GlusterFS

OpenEBS

Cinder

NFS

23

storageDruhá najkritickejšia…

@websupport_tech w w w.w e b s u p p o r t. s k

Page 24: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Prometheus

webhook -> Zabbix

Slack, email

Monitoring-as-a-service

Sysdig

Datadog

24

monitoringZdravie vášho clustera

@websupport_tech w w w.w e b s u p p o r t. s k

Page 25: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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 w w w.w e b s u p p o r t. s k

Page 26: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

@websupport_tech w w w.w e b s u p p o r t. s k 26

Page 27: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

@websupport_tech w w w.w e b s u p p o r t. s k 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

Page 28: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

pomocníci

28@websupport_tech w w w.w e b s u p p o r t. s k

Page 29: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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átoryUľahčujú deployment Kubernetes na vašu infraštruktúru a aktualizáciu

@websupport_tech w w w.w e b s u p p o r t. s k

Page 30: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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úcieCelý ekosystém, otvorené aj komerčné, aktualizácie

@websupport_tech w w w.w e b s u p p o r t. s k

Page 31: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 32: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

32

Hierarchia potrieb pri kontajneroch

@websupport_tech w w w.w e b s u p p o r t. s k

Page 33: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 34: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

34

3 . Poučenia a odporúčania

@websupport_tech w w w.w e b s u p p o r t. s k

Page 35: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 36: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

ZMENA

36@websupport_tech w w w.w e b s u p p o r t. s k

Page 37: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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ŠeniaPain points

@websupport_tech w w w.w e b s u p p o r t. s k

Page 38: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

ako začať?

38@websupport_tech w w w.w e b s u p p o r t. s k

Page 39: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Produkcia1 3 4

Monitoring, bezpečnosť, upgrade, CI/CD

Skoro hotovo

Prípadne Docker Swarm

Kubernetes

Docker

Konfiguračný manažmenta automatizácia

39@websupport_tech w w w.w e b s u p p o r t. s k

2

HA, škálovanie, Git

Page 40: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

service discovery

image management

vulnerability scanner

deployment process

access control

service mesh

horizontal autoscaling

backup

upgrade infrastructure

package manager

40

Čo ĎalejNext steps

@websupport_tech w w w.w e b s u p p o r t. s k

Page 41: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 42: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 43: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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áciaPostupne

@websupport_tech w w w.w e b s u p p o r t. s k

Page 44: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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

DockerfileMenší imidž je lepší

@websupport_tech w w w.w e b s u p p o r t. s k

Page 45: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

ž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 w w w.w e b s u p p o r t. s k

Page 46: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

plán B

46@websupport_tech w w w.w e b s u p p o r t. s k

Page 47: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

plán B

47@websupport_tech w w w.w e b s u p p o r t. s k

Page 48: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

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é zdrojeKam ďalej

@websupport_tech w w w.w e b s u p p o r t. s k

Page 49: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech
Page 50: Kontajnery v produkcii na vlastnej infraštruktúre · Docker Swarm Kubernetes ... Monitoring-as-a-service Sysdig Datadog 24 monitoring Zdravie vášho clustera @websupport_tech

Ďekuji !

@websupport_tech