Publicidad
Publicidad

Más contenido relacionado

Publicidad

Último(20)

Kubernetes on gcp

  1. Kubernetes on GCP 陳小風 @ TechPodcastNight
  2. 自我介紹 • 陳鋒逸(陳小風) • 講師經歷 • 微軟最有價值專家 (MVP) • SkillTree兼任講師 • Techday 講師 (2014) • JSDC 講師 (2013) • 社群研討會講師 • AgileCommunity.tw • Javascript.tw • twMVC 2 粉絲團: 愛流浪的小風
  3. Tech Podcast Night 兩週舉辦一次的 Friday Night 線 上版科技宅聚會, 晚上 9 點到 10 點,分享關於近期學習的新知, 也分享工程師職涯路上的酸甜苦 辣。 @TechPodcastNight @TechPodcastNight @Tech-Podcast-Night-Taipei
  4. Docker
  5. Docker • 快速建置環境 • 開發與正式環境一致 • 環境隔離 • 資源有效利用 • 降低維運成本 • 比虛擬化更輕量
  6. http://en.community.dell.com/techcenter/os-applications/w/wiki/6950.lxc-containers-in-ubuntu-server-14-04-lts.aspx
  7. WebSite Database Redis 一般網站架構
  8. WebSite Database RedisProduction WebSite Development • 環境不一致 • All in one • VM 效能慢 • 可能互相干擾 一般網站架構 Database Redis
  9. Docker Docker WebSite Database Redis
  10. Docker WebSite Database Redis Docker WebSite Database Redis Production Docker WebSite Database Redis Development
  11. Docker WebSite Database Redis Production Docker WebSite Database Redis Development Docker • 環境一致 • 資源隔離 • 容易部署 • Canary Release • Rolling Update
  12. • 普通開發方式 • 打包 Docker Image • 使用 Docker-Compose
  13. Kubernetes
  14. What is Kubernetes • Powered by • Open Source • Production Solution for docker • Container Cluster • Easy to deploy, scale, manage
  15. What is Kubernetes Master Node Worker Node Worker Node Kubectl App DB Pod App DB Pod App DB Pod App DB Pod
  16. What is Kubernetes Pod Namespace Deployments Scheduler Service ConfigMap Volume
  17. Rolling Update Master Node Worker Node Worker Node Kubectl App Pod Pod DBApp Pod App Pod App Pod AppV2 Pod AppV2 Pod AppV2 Pod AppV2 Pod
  18. Deployment Stateful Daemon Job Application Pattern
  19. Deployment • Stateless • 高可用性 • 容易擴展 • 自動復原
  20. Stateful • 有狀態 • 持久化 • 獨立、唯一 • Zookeeper http://blog.fleeto.us/translation/statefulset-run-and-scale-stateful-applications-easily-kubernetes
  21. Daemon • 一個節點一個 Pod • 隨節點增減 • Monitor 、 Log
  22. Job • 一次性 • 自動結束 • Batch
  23. • 運行 Deployments • Deployments Scaling • Rolling Update
  24. 運行平台
  25. Supported Platform Google Cloud Platform https://kubernetes.io/docs/setup/pick-right-solution/
  26. Minikube • Run locally • 開發、測試 • 支援多平台 (Win, Linux, Mac) • 內部運行 Docker
  27. Google Container Engine • GKE • Kubernetes on GCP • Fully management • 搭配 Google Container Registry • 使用簡單 • 一致的指令操作
  28. Google Container Registry • Private Registry • 速度快 • 自動化建置 • 使用簡單 • 整合 CI
  29. • 示範 Private Registry • 介紹 Google Console
  30. 持續整合
  31. 持續整合 • 專注開發 • 持續部署 • 自動建立測試環境 • Canary Release https://cloud.google.com/solutions/continuous-delivery-jenkins-container-engine
  32. Github Jenkins Development App 1 App 2 {branch}.app.com Production App 1 App 1 App 1 App 1 App 1 App 1 app.comCanary App 1 App 1 V2 App 1 V2 App 1 V2 App 1 V2 App 1 V2 App 1 V2 App 1 V2
  33. • Jenkins Pipeline • 使用 Dev Branch • 使用 Canary Branch • 使用 Master Branch
  34. Q & A
  35. 謝謝大家
Publicidad