Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

給 RD 的 Kubernetes 初體驗

✭✭ NOTE: a revised version of this lab is available at https://www.slideshare.net/williamyeh/rd-kubernetes-gdg-cloud-kh-201908-version ✭✭

90-Minute Workshop held at Taiwan Cloud Edge Summit 2019 (台灣雲端大會).

* 課程簡介
Kubernetes 是目前雲端環境的顯學。可是,傳統的程式,並不是原封不動搬上去,就能夠自動享受 Kubernetes 所宣稱的種種好處。 新的環境,不僅需要新的 Ops 思維,也需要新的 Dev 思維。我們將以一個半小時的時間,從軟體研發者的角度,探討軟體的設計該做哪些最起碼的改變,從實作中體驗 Kubernetes 引進的新觀念及新效益。

* 課程目標
從實例中體驗,傳統 web 應用程式在搬上 Kubernetes 時,可能會經歷哪些架構面的調整,才能享受新架構的效益:

- 容器化
- 微服務
- 組態管理
- 多重環境管理:本機端與雲端(以 GKE 為例)

  • Login to see the comments

給 RD 的 Kubernetes 初體驗

  1. 1. Technical Manager @ Titansoft William Yeh 葉秉哲  給 RD 的 Kubernetes 初體驗 … with a series of hands-on labs
  2. 2. PhD in Computer Science, NCTU, Taiwan CSPO (Certified Scrum Product Owner) from Scrum Alliance PSM I (Professional Scrum Master I) from Scrum.org Technical manager @ Titansoft (since Mar 2019) Server director & Scrum master @ Gogolook Active speaker and trainer for software architecture, DevOps, agile, and theory of constraints
  3. 3. Agenda Containers Microservices Cloud
  4. 4. Containers Microservices Cloud Agenda Labs 1.0 — 3.0 4.0 — 5.0 6.0 — 7.0
  5. 5. Agenda Know promising trends Adopt gradually Prepare mindset Goals Containers Microservices Cloud Labs 1.0 — 3.0 4.0 — 5.0 6.0 — 7.0
  6. 6. Lab material For each revision, pay attention to: 1. image versions 2. diff in code and configuration Use git log -p or GitHub to see diff between revisions.
  7. 7. Lab material https://github.com/William-Yeh/ workshop-cloud2019 or http://bit.ly/lab-cloud2019 for short 1. Open browser 2. Git clone to your laptop
  8. 8. GKE Setup🄌 a - Redeem Google Cloud coupon b - Create project in GCP c - Create GKE cluster
  9. 9. Redeem coupon Please follow steps in your handout NOW!
  10. 10. Create Project in GCP https://github.com/William-Yeh/ workshop-cloud2019/
 gke-steps.md or, https:// console.cloud.google.com/ projectselector2/kubernetes
  11. 11. Create GKE cluster https://github.com/William-Yeh/ workshop-cloud2019/
 gke-steps.md
  12. 12. Containers 1.0 - Legacy 2.0 - Docker 3.0 - Frontend/backend separation ❶
  13. 13. Why containers?
  14. 14. Lab material https://github.com/William-Yeh/ workshop-cloud2019 or http://bit.ly/lab-cloud2019 for short Switch to version 1.0 for now!
  15. 15. Lab # 1.0 Legacy
  16. 16. app runtime OS kernel app runtime OS kernel app runtime OS kernel Boundary of application packaging:
 pros and cons traditional deployment way container virtual machine
  17. 17. Lab # 2.0 Docker
  18. 18. Lab # 3.0 Frontend/backend separation
  19. 19. app runtime OS kernel app runtime OS kernel app runtime OS kernel Recap:
 containers as application packaging units traditional deployment way container virtual machine
  20. 20. Microservices 4.0 - Local Kubernetes 4.1 - Kubernetes dashboard 5.0 - Configuration ❷
  21. 21. Why make services micro? pros? cons?
  22. 22. Lab material 4.0 - Local Kubernetes 4.1 - Kubernetes dashboard 5.0 - Configuration For each revision, pay attention to: 1. image versions 2. diff in code and configuration
  23. 23. Kubernetes Terminology “Kubernetes 101: Pods, Nodes, Containers, and Clusters” Author: Daniel Sanche Date: 2018-01-02 URL: https://medium.com/google-cloud/kubernetes-101-pods- nodes-containers-and-clusters-c1509e409e16
 (or http://bit.ly/post-k8s-101 for short)
  24. 24. Container
  25. 25. Pod Container Any examples?
  26. 26. • Shared volumes • IPC • Network https://linchpiner.github.io/k8s-multi-container-pods.html Multi-Container Pods in Kubernetes Pod Container
  27. 27. Deployment & Replicalabel selector
  28. 28. _v2 Service label selector 3 label
  29. 29. _v2 Service container pod deployment service 3
  30. 30. Kubernetes Terminology Learn by doing!
  31. 31. Lab material 4.0 - Local Kubernetes 4.1 - Kubernetes dashboard 5.0 - Configuration For each revision, pay attention to: 1. image versions 2. diff in code and configuration
  32. 32. Lab # 4.0 Local Kubernetes
  33. 33. Lab # 4.1 Kubernetes dashboard
  34. 34. Lab # 5.0 Configuration
  35. 35. _v2 Service container pod deployment service Recap:
 containers as application packaging units 3
  36. 36. Cloud 6.0 - Cloud (GKE for example) 7.0 - Canary release ❸
  37. 37. Lab # 6.0 Cloud (GKE for example)
  38. 38. Lab # 7.0 Canary release
  39. 39. Service label selector
  40. 40. _v2 Service label label 3 selector
  41. 41. Conclusion
  42. 42. app runtime OS kernel app runtime OS kernel app runtime OS kernel Recap:
 containers as application packaging units traditional deployment way container virtual machine
  43. 43. _v2 Service container pod deployment service label label 3 selector
  44. 44. Agenda Know promising trends Adopt gradually Prepare mindset Goals Containers Microservices Cloud Labs 1.0 — 3.0 4.0 — 5.0 6.0 — 7.0

×