工業互聯網邊緣計算 課件 任務3.2 邊云協同系統部署_第1頁
工業互聯網邊緣計算 課件 任務3.2 邊云協同系統部署_第2頁
工業互聯網邊緣計算 課件 任務3.2 邊云協同系統部署_第3頁
工業互聯網邊緣計算 課件 任務3.2 邊云協同系統部署_第4頁
工業互聯網邊緣計算 課件 任務3.2 邊云協同系統部署_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

——工業互聯網邊緣計算——模塊3部署邊云協同系統架構和平臺架構目錄CONTENTS邊云協同與項目整體方案設計任務3.1邊云協同系統部署任務3.2邊云協同平臺部署任務3.3系統高并發性與高可用性配置任務3.4數據平臺與邊緣網關協同案例任務3.5任務3.2邊云協同系統部署導入通過對任務3.1的學習可知,邊云協同類型的邊緣計算項目包括云、邊、端三部分。云部分通常又稱為云端部分,由大規模以及超大規模的云計算數據中心組成,如果有多個云計算數據中心,它們之間可以通過骨干網連接,實現算力協同,提高服務能力。邊部分通常又稱為邊緣部分,既可以由構建在MEC服務器上的邊緣數據中心組成,也可以由邊緣網關組成,還可以包含兩級邊緣節點。邊緣數據中心和云計算數據中心之間可以協同運行,多個邊緣數據中心之間可以通過邊緣網關實現交互,如圖所示。在邊緣計算興起之前,云計算數據中心的發展已經相對成熟,所以接下來從云計算數據中心的基本構成入手,學習云計算數據中心的部署方式和邊云協同的部署方式。3.2.1云計算數據中心基本構成在過去的20年中,數據中心的發展見證了互聯網的興起。如今,數據中心已經成為云計算的重要基礎承載設施,可以說沒有數據中心,所謂的大數據和云計算,只是空殼和虛無的概念,根本無從談起。云計算數據中心簡稱云中心,是一整套復雜的設施,一種“倉庫規模的計算機系統”。云中心由四大部分組成:環境、硬件設備、基礎軟件、應用支撐平臺。如圖所示為云中心機房。1)環境:主要指云中心機房及建筑物布線等設施,包括電力、制冷、消防、門禁、監控、裝修等;2)硬件設備:主要包括服務器、存儲、災備、核心網絡設備、網絡安全設備、機柜及其配套設施等。3)基礎軟件:主要包括IaaS管理軟件、操作系統軟件、虛擬化軟件、數據庫軟件、防病毒軟件等。4)應用支撐平臺:具有行業特點的統一平臺,作用是整合異構系統、互通數據資源。其中,服務器是云中心的基本硬件設備,也是云中心的核心設備,它為云計算平臺提供計算能力,為用戶提供大規模計算、大規模存儲、高通量網絡服務。和通用計算機相比,服務器具有更高的處理能力、更優秀的穩定性和可靠性,并且對可擴展性和可管理性也有著較高的要求。因此,部署云中心的重要工作之一就是部署云服務器。3.2.2虛擬化、容器、集群、云原生等重要技術1.虛擬化云計算的快速發展對資源管理提出了新的要求。在新一代數據中心構建過程中,虛擬化技術起著關鍵作用,對于促進資源靈活分配、優化系統整體效能、降低計算服務成本、實現高并發性和高可用性具有重要意義。虛擬化技術是計算機資源的邏輯表示。通過在系統中增加一個虛擬化層,把底層資源抽象為另一種形式的資源,通常叫邏輯資源池或者資源共享池,將池中資源提供給上層應用使用和共享,實現上層應用和下層資源的解耦合,實現物理資源的充分利用。從使用形式上看,虛擬機(VirtualMachine,VM)是虛擬化技術的一種典型使用形式。虛擬機一詞從字面上講,可以拆分為“虛擬化”+“機器”。根據虛擬化技術的先行者Goldberg在1972年的定義,虛擬機是一種系統,是一個真實存在的軟硬件的副本。在這一過程中,虛擬機監視器(VirtualMachineMonitor,VMM)為軟件和硬件的復制提供必要的機制。虛擬機本質上是一套軟件系統,它和我們接觸的物理機可以形成對應。物理機的主要組成部分包括處理器、存儲設備、網絡設備。對于虛擬機來說,也存在虛擬處理器、虛擬存儲、虛擬網絡,其中處理器(計算)虛擬化的實現最為關鍵。從實現方式上看,虛擬機有三種典型的實現方式:寄居虛擬化、裸金屬虛擬化、混合虛擬化,如圖所示。3.2.2虛擬化、容器、集群、云原生等重要技術1.虛擬化3.2.2虛擬化、容器、集群、云原生等重要技術1.虛擬化(1)寄居虛擬化寄居虛擬化將原本安裝在物理硬件上的操作系統稱為宿主機操作系統,其實現方式是將虛擬化軟件以應用程序的方式安裝在宿主機操作系統上,在宿主機操作系統上構建虛擬化層VMM,通過VMM實現虛擬機操作系統的系統隔離和資源調度。典型代表有:VMwareWorkstation,OracleVMVirtualBox。3.2.2虛擬化、容器、集群、云原生等重要技術1.虛擬化(2)裸金屬虛擬化裸金屬虛擬化中沒有宿主機操作系統,其實現方式是將虛擬化軟件直接安裝在裸金屬物理硬件上,在裸金屬物理硬件上構建虛擬化層VMM,通過VMM實現虛擬機操作系統的系統隔離和資源調度。VMM在這種形式下的典型架構是Hypervisor架構,源于劍橋大學在2003年推出的Xen項目,是一個基于原生態硬件的虛擬化層,換句話說,是一個介于原生態硬件和虛擬機操作系統之間的虛擬化層。3.2.2虛擬化、容器、集群、云原生等重要技術1.虛擬化(3)混合虛擬化混合虛擬化將原本安裝在物理硬件上的操作系統稱為宿主機操作系統,其實現方式是將虛擬化軟件以系統內核的形式嵌入到宿主機操作系統中,將宿主機操作系統轉變為虛擬化層VMM,通過VMM實現虛擬機操作系統的系統隔離和資源調度。VMM在這種形式下的典型架構是KVM架構,僅支持Linux操作系統為宿主機操作系統。3.2.2虛擬化、容器、集群、云原生等重要技術2.容器容器并不是近年來出現的全新概念,而是源于操作系統級虛擬化。操作系統級虛擬化是一種虛擬化技術,能夠實現多個相互隔離的實例(Instance)共享一個操作系統的內核(Kernel),此過程中包含相應程序組件的實例即為容器,如圖所示。3.2.2虛擬化、容器、集群、云原生等重要技術2.容器雖然容器封裝了程序運行的基本環境,它卻是輕量級的系統。和虛擬機相比,它不需要運行VMM或者Hypervisor,因而減少了額外負載。在容器的支持下,用戶能夠從現有硬件資源中獲取更豐厚的性能回報,可以在一個內核上運行基于不同庫函數和環境的程序,對計算的衡量也可以采用從一個物理機或者虛擬機到更細粒度更靈活的容器實例等不同單位。雖然容器相比虛擬機而言有很多優勢,但也存在很多問題,最關鍵的三個問題是容器的安全性問題、隱私性問題、隔離性問題。因為容器極度依賴其主機操作系統,所以:任何對主機操作系統的攻擊都可能導致容器異常,即為容器的安全性問題;主機操作系統能夠看到容器中的一切資源和內容,即為容器的隱私性問題;更重要的是,一個容器一旦成功獲取其主機操作系統的管理權限,它可能直接影響其它并行容器的運行狀態,即為容器的隔離性問題。隨著容器技術在云環境中重要性的上升,針對容器的集群調度和編排也將成為關鍵。3.2.2虛擬化、容器、集群、云原生等重要技術3.集群隨著云計算的快速發展,云計算系統高并發性與高可用性都離不開一個關鍵概念——集群。集群是一組獨立節點的結合體,形式上可以是物理機,也可以是虛擬機、容器,或者是具體的應用服務,節點間通過高性能的網絡相連接,各節點除了可以作為單一資源供用戶使用以外,還可以協同工作并表示為一個集中資源。從結構和功能上看,集群主要可以分為三類:高可用集群、負載均衡集群、高性能計算集群,如表所示。集群類型集群形式高可用集群高可用集群一般是指當集群中某個節點失效或者進行離線維護再上線時,該節點上的任務會自動轉移到其他正常工作的節點上。最常見的就是兩個節點組成的高可用集群,日常也稱為“雙機熱備”“雙機互備”“雙機”。負載均衡集群負載均衡集群一般是指通過一個或者多個前端負載均衡器將負載均衡分配到后端提供相同功能的節點上。日常最常見的應用服務集群即為一種負載均衡集群。高性能計算集群高性能計算集群致力于將計算任務分配到集群的不同節點而提高計算能力,致力于提供單個計算機不能提供的強大計算能力,因而主要應用在科學計算領域。3.2.2虛擬化、容器、集群、云原生等重要技術4.云原生云原生的主旨是構建運行在云端的應用程序,致力于使應用程序能夠最大限度地利用云計算技術特性的優勢,提供更加優質的應用服務。云原生準確來說是一種文化,更是一種潮流,它是云計算的一個必然導向。意義在于讓云成為云化戰略成功的基石,而不是障礙。如圖所示,以云原生為指導的云端應用程序開發部署過程中,主要涉及微服務、容器、DevOps、持續集成與持續交付等四個關鍵技術。3.2.2虛擬化、容器、集群、云原生等重要技術4.云原生(1)微服務微服務是將應用程序開發為一系列小型服務的體系結構,每個服務都實現獨立的業務功能,運行在自己的進程中,服務之間通過HTTPAPI或者消息傳遞進行通信。每個微服務都可以獨立于應用程序中的其他服務進行部署、升級、擴展和重新啟動,通常作為自動化系統的一部分,能夠在不影響最終用戶的情況下頻繁更新現場應用程序。(2)容器容器相比虛擬機而言,擁有更高的資源使用效率,因為它不需要為單個微服務分配獨立的操作系統,所以實例規模更小、創建速度和遷移速度也更快,是部署單個微服務的理想工具。對容器進行集群調度和編排后,將極大增強系統的拓展能力和自愈能力,輕松應對實際業務中的高并發場景和高可用場景。(3)DevOpsDevOps是Development和Operations的結合,是一種“開發人員(Dev)”和“運維人員(Ops)”之間溝通合作的文化、行動和規則。通過自動化軟件交付和架構變更的流程,使得構建、測試、發布軟件能夠更加地快捷、頻繁和可靠。(4)持續集成與持續交付持續集成與持續交付是一種軟件開發的實踐方法,致力于指導開發團隊減少軟件構建錯誤,實現軟件的頻繁發布、快速部署、及時反饋,降低發布風險。3.2.3云服務器系統部署方式1.物理資源虛擬化虛擬化資源池是云服務器系統部署中非常重要的概念。實際應用中,對于單個云服務器而言,虛擬化有三種實現方式:寄居虛擬化、裸金屬虛擬化、混合虛擬化。一般而言,因為寄居虛擬化操作簡單、方便實現,所以個人應用和小型企業應用以VMwareWorkstation和OracleVMVirtualBox等寄居虛擬化為主。但是對于大中型企業應用而言,裸金屬虛擬化或者混合虛擬化可以提供更高的性能特性,所以大中型企業應用以Xen等裸金屬虛擬化或者KVM等混合虛擬化為主。3.2.3云服務器系統部署方式1.物理資源虛擬化單個云服務器在實現了物理資源虛擬化以后,就可以被分割為多個虛擬服務器,為多個虛擬服務器提供隔離環境。實際應用中,虛擬化資源池也可以進一步跨服務器運行,可以由數據中心或者跨數據中心的數十數百甚至數萬臺服務器集群組成,虛擬化資源池中的資源通過成熟的虛擬化技術共同管理,實現資源的高度集成和靈活分配,如圖所示。3.2.3云服務器系統部署方式2.虛擬機系統部署(1)操作系統部署常用操作系統有Windows、Linux、MacOS等多種類型。其中,Windows操作系統是日常生活中個人計算機的常用操作系統,其主要特點是界面友好、窗口優美、操作動作簡單易學、多代系統之間具有良好傳承、計算機資源管理效率較高。但是對于企業云服務器部署而言,Linux操作系統提供了更多優勢。比如,Linux操作系統開源且免費,企業開發人員可以根據需要對Linux操作系統的內核代碼進行查看、修改、再創作;再者,Linux操作系統不僅具有比Windows操作系統更高的穩定性、安全性、靈活性,而且具有比Windows操作系統更低的硬件要求和運維成本。所以Linux操作系統是企業云服務器部署的首要選擇。而且后面要進行的容器部署本身也是在Linux操作系統的基礎上發展起來的,雖然現階段也有針對Windows操作系統的容器部署,但是Linux操作系統依舊是容器部署的首要選擇。故選擇Linux操作系統為虛擬機的操作系統。Linux操作系統又有不同的發行版本,比如Ubuntu和CentOS就是Linux操作系統中的兩種常用版本。Ubuntu和CentOS本身是基于Linux操作系統中的不同架構發展來的。Ubuntu基于的是Linux操作系統中的Debian架構,相比CentOS而言具有更好的圖形界面支撐,更新頻率較高。CentOS基于的是Linux操作系統中的RHEL架構,相比Ubuntu而言缺乏良好的圖形界面支撐,更新頻率較低。實際應用中,一方面,圖形界面雖然可以簡化操作,但是也會占用更多內存,所以圖形界面是桌面操作系統的首要選擇,但卻不是企業云服務器或者虛擬機部署操作系統時的首要選擇。另一方面,相比更新頻率而言,企業應用往往更看重操作系統的穩定性與可靠性。所以在實際應用中,Ubuntu是個人桌面部署Linux操作系統時的首要選擇,CentOS是企業云服務器或者虛擬機部署Linux操作系統時的首要選擇。故選擇CentOS為Linux操作系統的具體版本。3.2.3云服務器系統部署方式2.虛擬機系統部署(2)容器集群部署CentOS操作系統為虛擬機運行提供操作系統支持,接下來可以在操作系統上面進行容器集群的部署,選擇基于Docker+Kubernetes(可以簡稱K8S)的方式。其中:Docker是一種容器引擎技術,為容器化應用的封裝和分發提供了統一的標準,為容器在單節點上創建和運行提供了統一的標準;Kubernetes是一種集群架構技術,本身不具備容器的創建功能或者運行功能,需要與以Docker為例的容器引擎技術結合使用,為容器在集群節點上調度和編排提供了統一的標準。此外,要將應用以容器形式部署,鏡像(Image)和倉庫(Repository)也是必不可少的兩個關鍵概念。鏡像可以看成容器的模板,就像安裝操作系統時的iso模板一樣。而倉庫是存放鏡像的地方。DockerHub就是Docker提供的一個公有倉庫。但是對于企業而言,企業開發人員將開發好的應用打包成鏡像以后,往往并不希望將他們開發的鏡像上傳到以DockerHub為例的公有倉庫當中,而是希望能在企業內部部署私有倉庫,讓他們開發的鏡像在企業內網中使用和管控。Harbor倉庫就是一種常用的企業級私有倉庫。目前,Kubernetes已經獲得了Docker的官方支持,基于Docker+Kubernetes的方案也已經成為容器集群部署的主流方案。3.2.3云服務器系統部署方式3.DockerDocker是一種容器引擎技術,使用的是客戶端/服務器(Client/Server,C/S)架構。如圖所示,Docker以單節點為宿主機進行部署,部署以后會在宿主機上啟動一個守護進程(Daemon),同時為用戶提供命令行工具或者圖形化工具作為客戶端,用戶在客戶端上輸入需要執行的docker命令,客戶端將命令發送到守護進程中,守護進程執行鏡像或者容器的具體操作。在部署好CentOS操作系統的基礎上,既可以通過CentOS操作系統的yum工具進行Docker的安裝,也可以通過二進制包形式進行Docker的安裝。以通過yum工具進行安裝為例,Docker的安裝方式和運行方式如下:3.2.3云服務器系統部署方式3.Docker—安裝1)關閉CentOS操作系統的防火墻、SELinux、swap分區,命令如下:#systemctlstopfirewalld.service#systemctldisablefirewalld.service#sed-i's/enforcing/disabled/'/etc/selinux/config#setenforce0#swapoff-a2)配置Docker的yum源,命令如下:#wget-P/etc/yum.repos.d//docker-ce/linux/centos/docker-ce.repo3)安裝Docker服務,假設版本選擇18.09.0,命令如下:#yuminstalldocker-ce-18.09.0-3.el7-y4)啟動Docker服務,命令如下:#systemctlstartdocker.service&&systemctlenabledocker.service3.2.3云服務器系統部署方式3.Docker—運行Docker在集群中的每個節點上獨立運行,所以安裝并且啟動Docker服務以后,集群中的每個節點都可以根據需要執行docker命令,也可以根據需要配置DockerHub公有倉庫的鏡像加速器或者配置Harbor私有倉庫。3.2.3云服務器系統部署方式4.KubernetesKubernetes是一種集群架構技術,使用的是主從(Master/Slave,M/S)架構。如圖所示,Kubernetes在集群節點中部署,部署時需要部署一個主節點(又稱為Master節點)和多個從節點(又稱為Node節點),Master節點為用戶提供集群控制的入口,用戶在Master節點上輸入需要執行的kubectl命令,Master節點和Node節點交互,在集群中以Pod為單位進行容器的調度和編排,Pod是Kubernetes中定義的最小操作對象,通常一個Pod只包含一個容器,但也可以將需要緊密協作的多個容器捆綁到一個Pod中,以Pod集群為新的層面提供服務。在部署好Docker容器引擎的基礎上,既可以通過CentOS操作系統的yum工具進行Kubernetes的安裝,也可以通過二進制包形式進行Kubernetes的安裝。以通過yum工具進行安裝為例,Kubernetes的安裝方式和運行方式如下:3.2.3云服務器系統部署方式4.Kubernetes—安裝1)關閉CentOS操作系統的防火墻、SELinux、swap分區,命令如下:#systemctlstopfirewalld.service#systemctldisablefirewalld.service#sed-i's/enforcing/disabled/'/etc/selinux/config#setenforce0#swapoff-a2)配置Kubernetes的yum源,命令如下:#cat>/etc/yum.repos.d/kubernetes.repo<<EOF[kubernetes]name=Kubernetesbaseurl=/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0gpgkey=/kubernetes/yum/doc/yum-key.gpg/kubernetes/yum/doc/rpm-package-key.gpgEOF3.2.3云服務器系統部署方式4.Kubernetes—安裝3)安裝Kubernetes服務,假設版本選擇1.20.0,命令如下:#yuminstallkubelet-1.20.0kubeadm-1.20.0kubectl-1.20.0-y4)啟動Kubernetes服務,命令如下:#systemctlstartkubelet&&systemctlenablekubelet3.2.3云服務器系統部署方式4.Kubernetes—運行1)在每個節點的/etc/hosts文件中添加集群中各節點的IP地址與主機名的對應關系。假設集群由一個Master節點和兩個Node節點組成:Master節點的主機名為master,IP地址為;Node節點的主機名為node1和node2,IP地址為1和2。對應在每個節點的/etc/hosts文件中添加內容如下:master1node12node22)在每個節點上安裝flannel插件,flannel插件提供一種基于Overlay網絡的跨節點容器網絡解決方案,是Kubernetes中常用的容器網絡解決方案,它的安裝方式也很簡單,在每個節點上手動下載cni-plugins-linux-amd64-v0.8.6.tgz文件,將其中的flannel文件拷貝到/opt/cni/bin/目錄下即可,命令如下:#tarzxvfcni-plugins-linux-amd64-v0.8.6.tgz&&cpflannel/opt/cni/bin/除此之外,還需要在master節點上手動下載kube-flannel.yml文件,用于后續配置過程。3.2.3云服務器系統部署方式4.Kubernetes—運行3)在master節點上通過kubeadminit命令啟動Kubernetes集群,命令如下:#kubeadminit\--apiserver-advertise-address=\--image-repository/google_containers\--kubernetes-versionv1.20.0\--service-cidr=/16\--pod-network-cidr=/16其中,為master節點的IP地址,v1.20.0為Kubernetes的版本號,/16為配置給集群中Service服務的網絡號,/16為配置給集群中Pod對象的網絡號。Kubernetes集群啟動成功后會有如圖所示輸出。輸出中顯示了Master節點的后續配置和Node節點加入集群時需要的憑證信息。3.2.3云服務器系統部署方式4.Kubernetes—運行3.2.3云服務器系統部署方式4.Kubernetes—運行4)在master節點上根據圖示內容完成配置,需要先在master節點上手動下載kube-flannel.yml文件,然后命令如下:#mkdir-p$HOME/.kube#cp-i/etc/kubernetes/admin.conf$HOME/.kube/config#chown$(id-u):$(id-g)$HOME/.kube/config#kubectlapply-fkube-flannel.yml3.2.3云服務器系統部署方式4.Kubernetes—運行5)在node1節點和node2節點上根據圖示內容加入集群,命令如下:#kubeadmjoin:6443--tokengich3c.xrs4tbi0z4chyvsq\--discovery-token-ca-cert-hashsha256:d480ddfd22bd8a3af7733c352a6f359fc457d2ab87f5404c80e0927a06b14293其中,為master節點的IP地址,--token和--discovery-token-ca-cert-hash為該集群的令牌信息和密鑰信息,是node1節點和node2節點加入集群的憑證。3.2.3云服務器系統部署方式4.Kubernetes—運行6)然后就可以在master節點上通過kubectl命令管理集群,比如查看節點信息,命令如下:#kubectlgetnodes-owide結果如圖所示。3.2.4邊云協同系統部署方式導入從場景需求上看,邊緣和云端有很多相似之處,比如:1)邊緣和云端均有管理本地資源、服務、應用的需求,邊云協同意味著云端同時還有管理邊緣資源、服務、應用的需求。2)邊緣和云端在應用開發或者部署上均有微服務化和容器化的需求。3)邊緣和云端均有標準API和工具鏈方面的需求。4)邊緣和云端均有數據安全和認證授權方面的需求。因此,邊云協同解決方案的核心在于將云端的現有架構向邊緣延伸。3.2.4邊云協同系統部署方式1.Kubernetes向邊緣延伸通過前面的學習可知,在物理資源虛擬化和虛擬機操作系統部署的基礎上,基于Docker+Kubernetes的容器集群解決方案已經成為云端的主流方案,Kubernetes在云端的部署如圖所示。Kubernetes已經成為云原生的標準之一,但是Kubernetes畢竟是為云端設計的,直接將它向邊緣延伸會存在以下問題:1)ARM架構因其低功耗、高能效、多核等特點,在邊緣應用非常廣泛,但是大部分Kubernetes發行版不支持ARM架構。2)邊緣通常資源有限,特別是CPU資源有限,難以部署完整的Kubernetes。3)Kubernetes非常依賴list/watch機制,不支持離線運行,但是離線運行對于邊緣而言是一種常態,比如設備重啟或者休眠。4)Kubernetes的運維對于邊緣應用場景而言過于復雜。5)網絡通信問題,比如工業設備基于非TCP/IP協議進行網絡接入。6)設備多租問題,比如互不信任的用戶對安全隔離提出高度要求。3.2.4邊云協同系統部署方式1.Kubernetes向邊緣延伸基于上述問題,學者們在Kubernetes的基礎上進行了針對邊緣應用場景的拓展和修改。Kubernetes包含眾多組件,既有運行在Master節點上的管理面組件,也有負責Node節點代理的Agent組件。KubernetesIoT/EdgeWG組織進行過一個調查,結果顯示,關于如何在邊緣應用場景中使用Kubernetes:70%的用戶希望在云端部署Kubernetes的管理面,僅在邊緣部署Kubernetes的Agent;30%的用戶希望在邊緣部署完整的Kubernetes,包括管理面和Agent。上述結果也顯示了Kubernetes向邊緣延伸的兩個發展方向。基于這兩個發展方向,有KubeEdge和K3S兩個開源項目。基于這兩個開源項目,可以進行不同需求下的邊緣系統部署和云端系統部署,即進行邊云協同系統部署。3.2.4邊云協同系統部署方式2.KubeEdgeKubeEdge是華為捐獻給CNCF的第一個開源項目,也是全球首個基于Kubernetes擴展并且提供邊云協同能力的開放式邊緣計算平臺。KubeEdge的名字源于Kube+Edge,旨在依托Kubernetes對容器集群的調度能力和編排能力實現邊云協同、計算下沉、海量接入等功能。3.2.4邊云協同系統部署方式2.KubeEdgeKubeEdge是一個從云端到邊緣再到設備的完整的邊緣計算平臺。在Kubernetes的基礎上,KubeEdge結構上有如下要點:1)在云端部署EdgeController,提供KubernetesAPIServer和邊緣之間的狀態同步。2)在云端部署CloudHub,接收EdgeHub同步到云端的信息。3)在邊緣部署EdgeHub,提供多路復用的消息通道和可靠高效的云邊同步。4)在邊緣部署Edged,相當于輕量化的KubernetesKubelet,提供Node、Pod、Volume等Kubernetes資源對象的全生命周期管理。5)在邊緣部署MetaManager,提供元數據存儲,是邊緣自治的關鍵。6)在邊緣部署DeviceTwin,提供設備抽象化,并在云端生成映射。7)在邊緣部署EventBus,提供來自MQTTBroker的設備數據訂閱。3.2.4邊云協同系統部署方式3.K3SK3S是Rancher開源的一個自己剪裁的Kubernetes發行版。K3S的名字源于K8S-5,-5表示K3S比Kubernetes更輕量,旨在更好適配ARM、持續集成與持續交付、邊緣計算、物聯網、測試等場景。3.2.4邊云協同系統部署方式3.K3SK3S僅運行在邊緣,就像Kubernetes僅運行在云端一樣。在Kubernetes的基礎上,K3S結構上有如下要點:1)刪除舊的、非必須的代碼,K3S不包含任何過時的、Alpha版的、非默認的Kubernetes功能,此外,K3S還刪除了所有非默認的AdmissionController,刪除了in-tree的CloudProvider和存儲插件。2)整合打包進程,將Kubernetes中管理面和數據面以多進程形式運行的多個進程合并為一個。3)使用Containerd代替Docker作為容器運行時。4)使用SQLite代替ETCD作為管理面數據存儲。5)使用SQLite實現list/watch接口,即為TunnelProxy。6)增加一個簡單的安裝程序。3.2.4邊云協同系統部署方式4.KubeEdge與K3S對比如圖所示:KubeEdge將Kubernetes的管理面部署在云端,將Kubernetes的Agent部署在邊緣,邊緣屬于去中心化結構,與云端結合為一個完整的Kubernetes集群,可以實現邊云協同;K3S將Kubernetes的管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論