OpenYurt v1.2 新版本深度解讀(三):五步搭建一個OpenYurt集羣

作者:蘇杭、敬易

OpenYurt 作爲業界首個無侵入雲原生邊緣計算平臺近期迎來了 v1.2.0 版本的發佈,在 Kubernetes 無侵入、雲邊端全協同、跨網絡域通信等特性上持續發力,深入打造 OpenYurt + Kubernetes 實現海量邊緣計算業務的持續交付與高效運維管理能力。

背景

Kubernetes 作爲雲原生最基礎的項目,目前已經獲得開發者與企業的廣泛認可並激起高漲的參與熱情,OpenYurt 進一步將雲原生體系技術擴展到邊緣場景,其本身的複雜性以及邊緣場景的多樣性致使大多數開發者難以在短時間內使用並且參與到 OpenYurt 項目中來。其中關於 OpenYurt 的安裝部署成爲橫在雲原生從業者、社區參與者以及對邊緣雲原生感興趣的開發者面前的一道難關。

在 OpenYurt v1.2.0 版本中進一步優化了 OpenYurt 安裝過程,不再對原生 Kubernetes 的配置有任何修改,基於 Kubernetes+OpenYurt 實現雲原生體系的邊緣計算平臺,將邊緣設備與算力以雲原生的方式統一管理。

OpenYurt 安裝部署優化

在最新發布的 v1.2.0 版本中,OpenYurt 的安裝與部署流程做了大量的優化,如圖所示,將原流程的十個步驟縮減爲五個步驟,在最新的版本中無需對原生 Kubernetes 組件做任何配置上的調整。

image.png

新的安裝部署步驟如下:

  1. 初始化一個 Kubernetes 集羣,並且安裝 Flannel 插件以及 CoreDNS;2. 給雲端節點打標籤,與邊緣節點做區分(雲端節點一般部署中心管控、可觀測組件) ;

  2. 部署 OpenYurt 管控組件,Yurt-Controller-Manager 組件負責自治節點上 Pod 的生命週期管理以及邊緣側組件的證書審批,Yurt-App-Manager 組件爲跨地域資源及業務管理器,以節點池(一組節點)爲單位實行單元化管理。

  3. 部署跨網絡域通信組件 Raven,Raven 通過在雲邊構建 VPN 隧道實現跨網絡域的通信,其中 Raven-Controller-Manager 負責網關節點的管理,Raven-Agent 負責構建 VPN 以及管理路由。

  4. 接入邊緣節點,推薦使用最新的 Yurtadm 一鍵接入邊緣節點,將自動部署邊緣自治組件 Yurt-Hub。

image.png

部署的詳細操作步驟,可以參考 OpenYurt 官方社區網站的安裝指南

安裝指南:
https://openyurt.io/zh/docs/installation/manually-setup/

受益於 OpenYurt 安裝部署優化的 Prometheus 實踐

鑑於在 v1.2 版本 Raven 組件功能的進一步完善,Prometheus 以及 MetricsServer 等觀測與監控的部署流程將與在原生 Kubernetes 集羣上的安裝部署流程保持一致,不再依賴 Yurt-Tunnel 和 CoreDNS 的特殊配置。 但是相比於原生 Kubernetes 在數據傳輸的方式產生有一定的區別。如圖所示,雲端到網關(Gateway)或單獨的邊緣節點的監控指標數據將通過 Raven 構建的 VPN 隧道進行通信,對普通節點的監控指標數據將被轉發到網關節點上通過 VPN 隧道道傳輸到雲端的觀測與監控組件。

image.png

儘管在數據傳輸的方式上有一定區別,但 Promethues 的安裝部署仍然保持了原生 Kubernetes 的簡易性,以通過 10255 只讀端口收集 kubelet 的 metrics 爲例,直接加入獲取 kubelet 監控指標的配置即可,通過 relabel 規則修改從 10255 只讀端口以 http 協議收集信息,即可完成 Prometheus 的安裝部署以及配置。

- job_name: 'kubelet'
    kubernetes_sd_configs:
      - role: node
    scheme: https
    tls_config:
      ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      insecure_skip_verify: true
    authorization:
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - source_labels: [__address__]
        action: replace
        target_label: __address__
        regex: ([^:;]+):(\d+)
        replacement: ${1}:10255
      - source_labels: [__scheme__]
        action: replace
        target_label: __scheme__
        regex: https
        replacement: http

未來規劃與展望

  1. 目前 Raven 組件仍然採用 yaml 的方式部署安裝,未來將採用 helm 進行管理和部署;並且未來會將 OpenYurt 的所有 Controller 進行整合爲 Yurt-Manager 組件,未來將採用 helm 一鍵安裝部署 Yurt-Manager、Raven-Agent 即可完成 OpenYurt 的安裝。

  2. 在上述的基礎上,安裝部署流程將進一步簡化到三步:初始化 Kubernetes 集羣->安裝 OpenYurt 組件->接入節點。

如果您對於 OpenYurt 有任何疑問,歡迎使用釘釘掃描二維碼或者搜索羣號加入釘釘交流羣。(釘釘羣號:12640034121)

image.png

此處,立即瞭解 OpenYurt 項目

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章