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

Kubernetes 叢集平台 Tanzu Community Edition 動手做

Phil Huang
December 22, 2021

Kubernetes 叢集平台 Tanzu Community Edition 動手做

#ithomesummit2021 #tce

Phil Huang

December 22, 2021
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. Confidential │ ©2021 VMware, Inc. Kubernetes 叢集平台 Tanzu Community Edition

    動手做 iThome Kubernetes Summit 2021 Phil Huang <[email protected]> Senior Systems Engineer 2021/12/22
  2. Confidential │ ©2021 VMware, Inc. 2 Agenda n Tanzu Community

    Edition 動手實驗 n Tanzu Community Edition 架構講解 n Tanzu 相關資源分享
  3. Confidential │ ©2021 VMware, Inc. 3 VMware Tanzu Portfolio GOVERN

    多叢集 Kubernetes 集中 式管理平台 Tanzu Mission Control UNIFY 橫跨多雲多 叢集的微服務治理 Tanzu Service Mesh OBSERVE 不僅有 Infra 更專注 Application Tanzu Observability MANAGE 管理 DELIVER 將軟體交付到安全的自動化平台 CODE 雲原生應用 開發框架 Spring Runtime ASSEMBLE 從原始碼 編譯成可運行的容器 映像檔服務 Tanzu Build Service CURATE 提供多 種已封裝好的第 三方容器映像檔 服務 Tanzu Application Catalog BUILD 構建 APPLY 現代化應 用程式的 Cache / MQ / DB 服務 Tanzu Data Services OPERATE 一致地 Kubernetes 管理平台 Hybrid Cloud Public Cloud Tanzu Kubernetes Grid RUN 運行 Edge Tanzu Application Platform Tanzu Kubernetes for Operations AUTOMATE 更安全地管理跨 Kubernetes 多雲多叢集平台
  4. Confidential │ ©2021 VMware, Inc. 5 前置準備 l 一台 Ubuntu

    20.04 作業系統 (4+ Core / 6G+ Memory / 30G+ Disk) l https://releases.ubuntu.com/20.04/ l 安裝 docker l https://docs.docker.com/engine/install/ubuntu/ l 使用 non-root user 執行 docker l https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user l 安裝流程 l https://gist.github.com/pichuang/a2e95dd22855f108d962ea0b29102fa4
  5. Confidential │ ©2021 VMware, Inc. 6 Tanzu Community 下載位置 以

    v0.9.1 為例 Ref: https://tanzucommunityedition.io/download/
  6. Confidential │ ©2021 VMware, Inc. 7 Docker Daemon 需要使用 cgroup

    v1 特別注意 1 Ref: https://tanzucommunityedition.io/docs/latest/getting-started/ l cgroup 需要是 v1,不能用 v2
  7. Confidential │ ©2021 VMware, Inc. 8 Disk 建議要 30 GB

    以上 特別注意 2 Ref: https://tanzucommunityedition.io/docs/latest/getting-started/ l 如果給太小,會在 kind (Kubernetes in Docker) 服務裡面一直噴 No space left on device
  8. Confidential │ ©2021 VMware, Inc. 9 VMware Tanzu Kubernetes Grid

    HOL-2233-02-MAP Ref: https://labs.hol.vmware.com/HOL/catalogs/lab/10659
  9. Confidential │ ©2021 VMware, Inc. 11 部署架構:以 Managed Clusters 優先

    tanzu management-cluster create l 現行 TCE 支援 2 個部署架構:Standalone Clusters 及 Managed Clusters l 主要採用 Managed Clusters,因 Standalone Clusters 架構在接下來版本會被移除,故不討論 l 本次研討會以全部角色建制於單一 Local Machine 為主 (如左圖) ,包含 bootstrap / management / workload cluster l 非個人使用之部署方式請選擇具備 Cloud Infrastructure Provider 能力的作法 (如右圖) bootstrap cluster management cluster workload cluster Local Machine Docker bootstrap cluster management cluster workload cluster Cloud Infrastructure Provider Azure / AWS / vSphere Local Machine Docker Ref: https://tanzucommunityedition.io/docs/latest/
  10. Confidential │ ©2021 VMware, Inc. 12 3 個叢集角色 tanzu cluster

    list --include-management-cluster l Bootstrap Cluster:初始建立出 Management Cluster 之用,一次性建制,不需常駐服務 l Management Cluster:Ops 核心服務,有獨立的 Kubernetes API 可供 tanzu CLI 操作管理, 主責供給複數個 Workload Cluster 之用,如叢集生命週期管理 l Workload Cluster:App 核心服務,主責 Kubernetes 實際 App 工作負載之用 bootstrap cluster management cluster workload cluster Ref: https://tanzucommunityedition.io/docs/latest/getting-started/
  11. Confidential │ ©2021 VMware, Inc. 13 部署架構建議及常見問答 tanzu management-cluster get

    l 以 Management Cluster 為最小部署單位,每一個獨立環境部署一套 l Q1: 若我家有 Prod / SIT / UAT 三個環境,Prod 與 SIT/UAT 不連通,SIT / UAT 可連通,請問 這樣要部署幾個 Management Cluster? A: 2 個,因為網路隔離性,Prod 一個,SIT + UAT 一個 l Q2: 若只是要 1 個 Kubernetes 在 Prod 運行,那我需要部署幾個 Cluster? A: 2 個,一個 Management Cluster 管理 Workload Cluster,一個 Workload Cluster 跑服務 management cluster workload cluster Ref: https://tanzucommunityedition.io/docs/latest/getting-started/ PROD management cluster workload cluster SIT/UAT management cluster workload cluster DEV
  12. Confidential │ ©2021 VMware, Inc. 14 部署平台選型 tanzu management-cluster create

    --ui --bind 0.0.0.0:8080 --browser none l 可運行於 4 個平台,包含 Local Machine / vSphere / AWS / Azure l AWS / Azure 皆使用各自雲平台服務建制而成 l vSphere 溫馨提示:建議需先具有 VMware NSX Advanced Load Balancer (AVI Networks) Essential 版本以上才能使用
  13. Confidential │ ©2021 VMware, Inc. 16 Technical Stack tanzu package

    Ref: https://tanzucommunityedition.io/packages/
  14. Confidential │ ©2021 VMware, Inc. 17 Carvel:Package Management tanzu package

    Ref: https://carvel.dev/ l kapp:類同 helm,主要做 Kubernetes 套件生命 週期管理 l imgpkg:將 Kubernetes 打包成邏輯觀念 bundle 進行交付分發 l kbld:協助修正映像檔引用位置
  15. Confidential │ ©2021 VMware, Inc. 18 Tanzu Community Edition 和

    Tanzu Kubernetes Grid Tanzu Community Resources
  16. Confidential │ ©2021 VMware, Inc. 19 Tanzu Kubernetes Grid 及

    Tanzu Community Edition 非功能性需求對比 Tanzu Kubernetes Grid Tanzu Community Edition 核心能力 Kubernetes Kubernetes 目標場景 生產環境使用 個人自行測試使用 迭代速度 穩定且具有 Roadmap 最新且不穩定 支援管道 VMware Global Support Service Community Issues / You 技術更新 VMware Tanzu Product Community PR / You 資安修補 VMware Tanzu Product Community PR / You • 常見問題:如何從 Tanzu Community Edition 轉移至 Tanzu Kubernetes Grid? 1. 先建同一 Kubernetes 版本之 Tanzu Kubernetes Grid 叢集 2. 重新部屬相同微服務及測試 3. 下線既有 Tanzu Community Edition
  17. Confidential │ ©2021 VMware, Inc. 21 VMware ModernApps Learning 兼具社群分享及官方資源集散地

    Ref: https://modernapps.ninja/ • 採用類同 VMware HOL 實驗平台 • 實用 Hands-on Labs Workshop • Tanzu Kubernetes Grid • vSphere with Tanzu • Tanzu Mission Control • Spring Cloud Gateway • Octant
  18. Confidential │ ©2021 VMware, Inc. 22 VMware Tanzu Developer Center

    基於 Tanzu 產品線為主的實用解決方案介紹 Ref: https://tanzu.vmware.com/developer/ • 採用類同 Katacoda 隨選即用網頁式實驗平台 • 實用 Hands-on Labs Workshop