日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

边缘计算k8s集群之SuperEdge

發布時間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 边缘计算k8s集群之SuperEdge 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是邊緣計算

邊緣計算,是指在靠近物或數據源頭的一側,采用網絡、計算、存儲、應用核心能力為一體的開放平臺,就近提供最近端服務。其應用程序在邊緣側發起,產生更快的網絡服務響應,滿足行業在實時業務、應用智能、安全與隱私保護等方面的基本需求。邊緣計算處于物理實體和工業連接之間,或處于物理實體的頂端。而云端計算,仍然可以訪問邊緣計算的歷史數據。

邊緣計算在具有低時延、高帶寬、高可靠、海量連接、 異構匯聚和本地安全隱私保護等特點的應用場景,如智能交通、智慧城市、智慧工廠和智能家居等行業或領域,存在非常突出的優勢。比如在自動駕駛領域,邊緣計算是實現自動駕駛的關鍵。智能汽車本質上可以看作是一臺車輪上的大型高功率計算機,其通過多個傳感器收集數據。為了使這些車輛安全可靠地運行,這些傳感器需要立即響應周圍環境,處理速度的任何滯后都可能是致命的。同時邊緣計算將更多的數據計算和存儲從“核心”下沉到“邊緣”,部署于接近數據源的地方,一些數據不必再經過網絡到達云端處理,從而降低時延和網絡負荷,也提升了數據安全性和隱私性。

什么是SuperEdge?

SuperEdge是Kubernetes原生的開源的邊緣容器方案,它將Kubernetes強大的容器管理能力擴展到邊緣計算場景中,針對邊緣計算場景中常見的技術挑戰提供了解決方案,如:單集群節點跨地域、云邊網絡不可靠、邊緣節點位于NAT網絡等。這些能力可以讓應用很容易地部署到邊緣計算節點上,并且可靠地運行。

項目說明

項目地址:

https://github.com/superedge/superedge

SuperEdge可以幫助您很方便地把分布在各處的計算資源放到一個Kubernetes集群中管理,包括但不限于:邊緣云計算資源、私有云資源、現場設備,打造屬于您的邊緣PaaS平臺。

SuperEdge支持所有Kubernetes資源類型、API接口、使用方式、運維工具,無額外的學習成本。也兼容其他云原生項目,如:Promethues,使用者可以結合其他所需的云原生項目一起使用。

SuperEdge項目由以下公司共同發起:騰訊、Intel、VMware、虎牙直播、寒武紀、首都在線和美團。

特點

SuperEdge具有如下特性:

  • Kubernetes 原生:SuperEdge 以無侵入的方式將 Kubernetes 強大的容器編排、調度能力拓展到邊緣端,其原生支持 Kubernetes,完全兼容 Kubernetes 所有 API 及資源,無額外學習成本

  • 邊緣自治:SuperEdge 提供 L3 級邊緣自治能力,當邊緣節點與云端網絡連接不穩定或處于離線狀態時,邊緣節點可以自主工作,化解了網絡不可靠所帶來的不利影響

  • 分布式節點健康監測:SuperEdge 是業內首個提供邊緣側健康監測能力的開源容器管理系統。SuperEdge 能在邊緣側持續守護進程,并收集節點的故障信息,實現更加快速和精準的問題發現與報告。此外,其分布式的設計還可以實現多區域、多范圍的監測和管理

  • 內置邊緣編排能力:SuperEdge 能夠自動部署多區域的微服務,方便管理運行于多個地區的微服務。同時,網格內閉環服務可以有效減少運行負載,提高系統的容錯能力和可用性

  • 內網穿透:SuperEdge 能夠保證 Kubernetes 節點在有無公共網絡的情況下都可以連續運行和維護,并且同時支持傳輸控制協議(TCP)、超文本傳輸協議(HTTP)和超文本傳輸安全協議(HTTPS)

體系架構

使用ECK免費管理自己的邊緣節點

邊緣容器服務(Edge Cloud Kubernetes Engine,簡稱 ECK)是騰訊云容器服務基于SuperEdge推出的用于從中心云管理邊緣云資源的容器系統。邊緣容器服務完全兼容原生 Kubernetes、支持在同一個集群中管理位于多個機房的節點、一鍵將應用下發到所有邊緣節點,并且具備邊緣自治和分布式健康檢查能力。

優勢

簡而言之,言而總之,最大的優勢就是開箱即用,免費托管。不過目前僅支持創建一個集群。

ECK基于SuperEdge打造,使用ECK和容器服務托管集群一樣,不會收取托管的 Master、Etcd 等管理方面資源的費用。

計算節點由我們自己掌握和提供,邊緣容器服務不收取額外費用。

敞開來講,他有如下優勢:

  • 原生支持

邊緣容器服務緊跟社區,支持最新的 Kubernetes 版本及原生的 Kubernetes 集群管理方式,開箱即用。

  • 跨機房可用

邊緣容器服務是一種 Master 組件托管在云端,worker 節點可位于任意地點的 Kubernetes 服務,用戶無須提供 Master 組件所需資源。

  • 安全可靠

邊緣容器服務支持內外網證書分離,節點權限最小化控制來最大限度避免集群訪問控制權限泄露問題。云邊通信使用 TLS 加密,防止系統管理數據泄露或被篡改。

  • 系統容災

邊緣容器服務針對云邊通信網絡場景提供了可靠的邊緣自治能力,并且具備分布式集群健康檢查能力,可更準確地判定 pod 遷移時機。

  • 系統運維便利

借助于騰訊多年積累的隧道技術,即使邊緣設備不具備公網地址,管理員也可以從云端直接登錄運行在邊緣節點上的容器。

  • 多云管理

邊緣容器服務不限定計算資源。例如,公有云、私有云、騰訊云或其他云計算資源。

創建邊緣集群

集群的創建可以參考:

https://cloud.tencent.com/document/product/457/42889

值得注意的是,需開啟外網訪問。

添加節點

集群創建完成后,我們就可以添加邊緣節點了。這里可以添加本地的終端,也可以添加其他云的主機,相關條件如下:

  • 節點來源:可使用?云服務器控制臺?或?邊緣計算機器控制臺?中已有的服務器、其他平臺或自建機房的服務器。

  • 節點處理器:支持 x86_64、ARM、ARM64。

  • 支持的節點操作系統如下:

    • Ubuntu 18.04/16.04

    • CentOS 7.6/7.5/7.4

    • Tencent Linux Release 2.4/2.2 (Final)

    • SUSE Linux Enterprise Server 12 SP3

    • Debian 9.0

  • 請確保需添加節點已安裝?wget、systemctl?及?iptable。

  • Centos 7參考安裝腳本如下所示(自帶systemctl):

  • #安裝wget yum -y install wget #安裝iptables yum install -y iptables #安裝iptables-services yum install iptables-services
  • 節點網絡需具備主動訪問公網能力。

準備好邊緣節點了之后,筆者推薦大家使用腳本來添加節點,如下圖所示:


點擊【下一步】,就可以獲得一段腳本:

我們可以在自己的機器上開始操作了。在開始之前,我們需要確保該節點已安裝?wget、systemctl?及?iptable,并且最好是一臺干凈的終端。接下來我們就可以執行安裝了:

直到:

在執行腳本的時候,這里可能會存在以下問題(已反饋):

  • 操作文檔(https://cloud.tencent.com/document/product/457/42890)和實際操作對不上,需要將上面的edgectl腳本打開查看相關邏輯進行操作:

    • -n:節點名稱,在集群內必須是唯一的,是必須的

    • -i:節點內網通信使用的網卡,可不填

    • 其支持Install、check、clear等命令,這里我們需要使用install命令進行安裝

    • install命令有兩個參數:

  • 執行成功后,會輸出上圖中的“success-message”的內容,如果執行失敗,控制臺不會返回任何內容,需要查看上圖中的日志文件。

  • 提示執行成功后,可能會在集群中無法看到自己的節點,目前已確定是執行腳本對kubelet狀態判斷邏輯有問題,在大家看到這篇教程時,應該已經修復了。

使用Kubectl管理邊緣集群

在前面的教程我們已經詳細講述過相關的教程了,這里就不贅述了。Kubectl的安裝和集群連接請參考以下文檔:

https://cloud.tencent.com/document/product/457/42894

添加工作負載

邊緣集群搭建好了,我們先來運行一個Demo:

  • 部署一個dotnet-samples demo程序

  • 創建Service,開放端口30500(注意配置邊緣節點的防火墻)

Yaml如下所示:

apiVersion: apps/v1 kind: Deployment metadata:annotations:deployment.kubernetes.io/revision: "1"generation: 1labels:k8s-app: dotnet-samplesqcloud-app: dotnet-samplesname: dotnet-samplesnamespace: default spec:progressDeadlineSeconds: 600replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: dotnet-samplesqcloud-app: dotnet-samplesstrategy:rollingUpdate:maxSurge: 1maxUnavailable: 0type: RollingUpdatetemplate:metadata:annotations:edge.tke.cloud.tencent.com/cpu: "1"edge.tke.cloud.tencent.com/mem: 2GicreationTimestamp: nulllabels:k8s-app: dotnet-samplesqcloud-app: dotnet-samplesspec:containers:- image: mcr.microsoft.com/dotnet/samples:aspnetappimagePullPolicy: IfNotPresentname: dotnet-samplesresources:limits:cpu: 500mmemory: 1Girequests:cpu: 250mmemory: 256MisecurityContext:privileged: falseterminationMessagePath: /dev/termination-logterminationMessagePolicy: FilednsPolicy: ClusterFirstimagePullSecrets:- name: qcloudregistrykeyrestartPolicy: AlwaysschedulerName: default-schedulerterminationGracePeriodSeconds: 30 --- apiVersion: v1 kind: Service metadata:name: dotnet-samplesnamespace: default spec:externalTrafficPolicy: Clusterports:- name: tcp-80-80nodePort: 30500port: 80protocol: TCPtargetPort: 80selector:k8s-app: dotnet-samplesqcloud-app: dotnet-samplessessionAffinity: Nonetype: NodePort

創建成功后,訪問后如下所示(注意開放端口):


最后

在邊緣計算場景下,其實還有很多痛點,比如當一個集群橫跨多個地域,如何控制工作負載創建的節點位置?如何對各服務流量進行管控?同時,邊緣容器分布式節點狀態判定機制也是存在特殊性的,因為邊緣弱網絡會觸發 Kubernetes 驅逐機制,這可能會引起不符合預期的 Pod 驅逐動作。這些問題,大家可以參考官方幫助文檔,里面都有詳細的回答。

回歸正題,利用邊緣集群我們可以干很多事情,連接和管理本地、客戶所在地、各云廠商的機房、世界的各個終端。如何利用它搭建一個管道,鍛煉技術,學習技術,我們下回分解。

如果在添加節點的過程中碰到問題,可以參考筆者之前的教程、博客和書籍《Docker+Kubernetes應用開發與快速上云》來解決問題以及查看日志。

集群故障處理之處理思路以及聽診三板斧(三十四)

轉載是一種動力 分享是一種美德

如果喜歡作者的文章,請關注【麥扣聊技術】訂閱號以便第一時間獲得最新內容。本文版權歸作者和湖南心萊信息科技有限公司共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

文檔官網:docs.xin-lai.com

QQ群:

編程交流群<85318032>?

產品交流群<897857351>

總結

以上是生活随笔為你收集整理的边缘计算k8s集群之SuperEdge的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。