Kubernetes - Auf die Cluster, Fertig, Los!

Kubernetes - Auf die Cluster, Fertig, Los!

F029ec9c798e4dc447cab5e76f62fa17?s=128

Nicolas Byl

March 21, 2019
Tweet

Transcript

  1. 1

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

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

  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
  5. • portable: public, private, hybrid, multi-cloud • extensible: modular, pluggable,

    hookable, composable • self-healing: auto-placement, auto- restart, auto-replication, auto- scaling 5
  6. 6 Über 7 Stages must du gehen… 6 https://pxhere.com/de/photo/630731

  7. 7 7 Code Integration Test Manual Test Production master

  8. 8 8 Code Integration Test Manual Test Production master Integration

    Test Review Integration Test Review features/4711 features/1337
  9. 9 STEP 1: Build 9 https://pxhere.com/de/photo/1087298

  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
  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
  12. • Package manager for Kubernetes • Templating for needed Kubernetes

    objects • Manage dependencies • Rollout history • Now a CNCF incubator project • https://helm.sh 12
  13. • Create generic deployment descriptions • Replace configurable values with

    variables • Full power of go string templates 13
  14. • Keep track of rollouts: • Charts • Values •

    User • … • History • Rollback 14
  15. • Reference other charts • Atomic installation 15

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

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

  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
  19. 19 Step 3: Review Application 1 9 https://pxhere.com/de/photo/1445109

  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
  21. 21 Step 4: Production 2 1 https://pxhere.com/de/photo/506968

  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
  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
  24. 24 2 4

  25. 25 nicolas.byl@codecentric.de 25 http://www.twitter.com/NicolasByl