$30 off During Our Annual Pro Sale. View Details »

Aplikačné kontajnery v produkcii - CodeCon 2019

Aplikačné kontajnery v produkcii - CodeCon 2019

Ako 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á.

Fero Volar

April 02, 2019
Tweet

More Decks by Fero Volar

Other Decks in Technology

Transcript

  1. Aplikačné kontajnery
    v produkcii

    View Slide

  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
    vediem obchodný B2B team a spravujem
    serverové produktové portfólio.
    Mám viac ako 15 ročné skúsenosti v
    oblasti IT s navrhovaním individuálnych
    zákazníckych riešení.
    I ❤ containers.
    Hi, Nice to
    meet you
    @websupport_tech
    2

    View Slide

  3. 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
    3
    www.websupport.sk

    View Slide

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

    View Slide

  5. plná kontrola
    sieťové obmedzenia public cloudu, traffic
    dáta na Slovensku
    hybrid/multi-cloud setup
    ovládače (napr. storage)
    bezpečnosť, špeciálne pravidlá a smernice

    5
    Dôvody
    Prečo vlastne riešiť vlastný produkčný
    setup kontajnerovej platformy
    @websupport_tech www.websupport.sk

    View Slide

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

    View Slide

  7. 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ý
    7
    Produkcia
    Čo je to produkčný cluster?
    @websupport_tech www.websupport.sk

    View Slide

  8. 8
    2. komponenty
    @websupport_tech www.websupport.sk

    View Slide

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

    View Slide

  10. Kubernetes
    Docker Swarm
    Apache Mesos
    10
    orchestrácia
    Automatizované nasadenie,
    škálovanie a manažment
    @websupport_tech www.websupport.sk

    View Slide

  11. Flannel - menšie a nenáročné setupy
    WeaveNet - ak potrebujete šifrovanie siete +
    JumboFrames
    Calico - BGP features
    Canal (Flannel + Calico ako FW)
    Cilium
    Kube-router
    Romana
    porovnanie CNI na 10Gbit/s network K8s
    Ingress controller (L7 LB, SSL)
    11
    networking
    Jedna z najkritickejších častí
    @websupport_tech www.websupport.sk

    View Slide

  12. NFS
    Portworx
    Ceph
    Rook
    GlusterFS
    Cinder
    StorageOS
    Container Storage Interface (CSI)
    12
    storage
    Druhá najkritickejšia…
    @websupport_tech www.websupport.sk

    View Slide

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

    View Slide

  14. EFK - Elasticsearch, Fluentd a Kibana
    Fluentd
    LogTrail
    kubelogs
    14
    logy
    Čím viac zmien robíte, tým dôležitejšie
    sú logy
    @websupport_tech www.websupport.sk

    View Slide

  15. @websupport_tech www.websupport.sk 15

    View Slide

  16. @websupport_tech www.websupport.sk 16
    CI/CD
    Registry
    Service mesh (Istio, Consul, Linkerd, …)
    zálohovanie (ETCDCTL_API=3 ./etcdctl snapshot save snapshot.db...
    )
    testovanie (test-infra, kubeval, kube-monkey, …)
    Čo chýba

    View Slide

  17. inštalátory a distribúcie
    17
    @websupport_tech www.websupport.sk

    View Slide

  18. kops - Kubernetes Operations (AWS ready, GCE 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 - AWS, Azure, GCP, OpenStack a Alicloud
    18
    Inštalátory
    Uľahčujú deployment Kubernetes na
    vašu infraštruktúru a aktualizáciu
    @websupport_tech www.websupport.sk

    View Slide

  19. RedHat OpenShift
    OKD
    Canonical Kubernetes
    Mesosphere DC/OS
    Suse Kubic (cri-o)
    Suse CaaS platform
    RancherOS
    MetalK8s
    OpenStack Magnum
    19
    distribúcie
    Celý ekosystém, otvorené aj
    komerčné, aktualizácie
    @websupport_tech www.websupport.sk

    View Slide

  20. View Slide

  21. 21
    3. Poučenia
    a odporrúčania
    @websupport_tech www.websupport.sk

    View Slide

  22. View Slide

  23. GitOps (team)
    “kontajnerizovanie” aplikácie
    aktualizácie, rolling upgrade/rollback
    bare-metal vs. virtualizácia
    škálovanie, využitie zdrojov
    veľkosť imidžov
    bezpečnosť
    23
    úskalia vlastného
    rieŠenia
    Pain points
    @websupport_tech www.websupport.sk

    View Slide

  24. Produkcia
    1 3 4
    Monitoring, bezpečnosť,
    upgrade, migrácia
    Skoro hotovo
    Prípadne Docker Swarm
    Kubernetes
    Docker
    Konfiguračný
    manažment
    a automatizácia
    24
    @websupport_tech www.websupport.sk
    2
    HA, škálovanie, Git

    View Slide

  25. access control
    monitoring
    log management
    service mesh
    high availability
    horizontal autoscaling
    backup
    upgrade infrastructure
    package manager
    25
    @websupport_tech www.websupport.sk
    infrastructure provider
    engine
    network
    storage
    orchestration
    service discovery
    image management
    vulnerability scanner
    deployment process

    View Slide

  26. 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
    26
    kontajnerizácia
    Postupne
    @websupport_tech www.websupport.sk

    View Slide

  27. 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
    27
    Dockerfile
    Menší imidž je lepší
    @websupport_tech www.websupport.sk

    View Slide

  28. ž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, …)
    28
    Bezpečnosť
    Security, security, security
    @websupport_tech www.websupport.sk

    View Slide

  29. A curated list for awesome Kubernetes sources
    A curated list of Docker resources and projects
    kniha: Cloud Native DevOps With Kubernetes
    stackshare.io
    bit.ly/kubeweekly newsletter
    29
    Zaujímavé zdroje
    Kam ďalej
    @websupport_tech www.websupport.sk

    View Slide

  30. one more thing…
    30
    @websupport_tech www.websupport.sk

    View Slide

  31. Spoznajte
    docker kontajnery
    Cheat sheet sa na našom stánku

    View Slide

  32. Ďakujem
    @websupport_tech

    View Slide