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

Kubernetes - Auf die Cluster, Fertig, Los!

Kubernetes - Auf die Cluster, Fertig, Los!

Nicolas Byl

March 21, 2019
Tweet

More Decks by Nicolas Byl

Other Decks in Technology

Transcript

  1. 1

    View Slide

  2. 2
    It’s about time
    to market…
    2
    https://pxhere.com/de/photo/510878

    View Slide

  3. 3
    Ein paar Worte über
    Docker
    3
    https://pxhere.com/de/photo/510878

    View Slide

  4. • "Kubernetes is an open-source
    platform for automating
    deployment, scaling, and
    operations of application
    containers across clusters of hosts,
    providing container-centric
    infrastructure."
    4

    View Slide

  5. • portable: public, private, hybrid,
    multi-cloud
    • extensible: modular, pluggable,
    hookable, composable
    • self-healing: auto-placement, auto-
    restart, auto-replication, auto-
    scaling
    5

    View Slide

  6. 6
    Über 7 Stages must
    du gehen…
    6
    https://pxhere.com/de/photo/630731

    View Slide

  7. 7
    7
    Code
    Integration
    Test
    Manual
    Test
    Production
    master

    View Slide

  8. 8
    8
    Code
    Integration
    Test
    Manual
    Test
    Production
    master
    Integration
    Test
    Review
    Integration
    Test
    Review
    features/4711
    features/1337

    View Slide

  9. 9
    STEP 1: Build
    9
    https://pxhere.com/de/photo/1087298

    View Slide

  10. 10
    Fresh environment on every build
    1
    Scalable infrastructure
    Use resources as you go
    Parallel Builds
    2
    3
    4
    10
    1
    0
    https://pxhere.com/de/photo/755423

    View Slide

  11. 11
    Possible solution: Docker-in-Docker (still need
    priviledged access to the linux kernel)
    1
    Evaluate alternative builders: kaniko, jib
    Mitigation: Split clusters between development and
    other stages
    Caveat: If building in cluster, look at serviceaccount,
    too!
    2
    3
    4
    11
    1
    1
    https://pxhere.com/de/photo/864475
    https://pxhere.com/de/photo/833821

    View Slide

  12. • Package manager for Kubernetes
    • Templating for needed Kubernetes
    objects
    • Manage dependencies
    • Rollout history
    • Now a CNCF incubator project
    • https://helm.sh
    12

    View Slide

  13. • Create generic deployment
    descriptions
    • Replace configurable values with
    variables
    • Full power of go string templates
    13

    View Slide

  14. • Keep track of rollouts:
    • Charts
    • Values
    • User
    • …
    • History
    • Rollback
    14

    View Slide

  15. • Reference other charts
    • Atomic installation
    15

    View Slide

  16. • Helm Hub
    • Lua Templates
    • Tiller-less Helm
    16

    View Slide

  17. 17
    Step 2: Integration
    Test
    1
    7
    https://pxhere.com/de/photo/1358702

    View Slide

  18. 18
    Deploy new instance of application and dependencies
    1
    Run black-box tests
    Evaluate application in production-like environment
    Destroy after test
    2
    3
    4
    18
    1
    8
    https://pxhere.com/de/photo/1040863

    View Slide

  19. 19
    Step 3: Review
    Application
    1
    9
    https://pxhere.com/de/photo/1445109

    View Slide

  20. 20
    Deploy new instance of application and dependencies
    1
    Manuel test of specific features of a branch
    Separated environment for product owners and testers
    Destroy after merge of branch
    2
    3
    4
    20
    2
    0
    https://pxhere.com/de/photo/1040863

    View Slide

  21. 21
    Step 4: Production
    2
    1
    https://pxhere.com/de/photo/506968

    View Slide

  22. 22
    Software operations as code
    1
    Run once, control all instances
    Extend Kubernetes API with domain specific objects
    Control application lifecycle
    2
    3
    4
    22
    2
    2
    https://pxhere.com/de/photo/1040863

    View Slide

  23. 23
    Centralized control plane for network traffic
    1
    Manage access and security
    Create observability into application communication
    Advanvced routing
    2
    3
    4
    23
    2
    3
    https://pxhere.com/de/photo/1040863

    View Slide

  24. 24
    2
    4

    View Slide

  25. 25
    [email protected]
    25
    http://www.twitter.com/NicolasByl

    View Slide