天天看點

Eucalyptus Cloud 介紹

Eucalyptus 的起源

在開源Iaas 平台世界裡,目前流行的主要有Openstack, CloudStack, Eucalyptus 和 OpenNebula 等. 其中Eucalyptus 平台比較早開始商業化一個開源平台

Eucalyptus 最早誕生在美國加州大學聖巴巴拉分校,是由教授Rick Wolski和其帶領的6個博士生發起一個研究項目. 根據AWS EC2 API 實作了一個開源

EC2 平台, 2008年第一個版本釋出,美國宇航局(NASA)率先使用Eucalyptus.  2009年開始Eucalyptus System Inc成立,開始Eucalyptus的商業化之路

2010年,著名開源領軍人物Marten Mickos (前Mysql CEO) 加入Eucalyptus System Inc 成為CEO.

Eucalyptus IaaS 特點

在四大開源Iaas 平台中,Eucalyptus一直與和AWS的Iaas平台保持高度相容而以衆不同,Eucalyptus 是AWS 承認的唯一和AWS 高度相容的私有雲和混合雲平台.

從誕生開始,Eucalyptus就專著于和AWS高度相容性,瞄準AWS Hybrid 這個市場,目前Eucalyptus 的很多使用者或者商業化使用者也是AWS使用者,他們使用Eucalyptus 來建構

混合雲平台.  Eucalyptus的AWS相容性主要展現以下幾個方面:

  • 廣泛AWS 服務支援: 除了EC2服務,Eucalyptus 提供AWS主流的服務,包括S3, EBS, IAM, Auto Scaling Group, ELB, CloudWatch等, 而且Eucalyptus 在未來的

    版本裡,還會增減更多的AWS 服務,在4.0 已經有了Cloud Formation (tech preview), 在4.1會推出AWS的VPC等服務

  • 高度API相容:在Eucalyptus提供的服務裡,其API和AWS服務API 完全相容,Eucalyptus 的所有使用者服務(管理服務除外)都沒有自己SDK, Eucalyptus 使用者

    以使用AWS CLI或者AWS SDK 來通路Eucalyptus的服務. Eucalyptus提供的euca2ool 工具可以同時管理通路Eucalyptus和AWS的資源

  • 應用遷移:在Eucalyptus 和AWS之間,非常容易的進行Application的遷移.  Eucalyptus的虛拟機鏡像EMI和AWS的AMI 的轉換非常容易
  • 應用設計,工具和生态系統:  運作在AWS的工具或者生态系統完全可以在Eucalyptus上使用,著名的例子是netflix的OSS, eucalyptus 是唯一可以運作netflix OSS的開源IaaS平台,netflix 是AWS力推的AWS 生态系統榜樣,netflix OSS 提供AWS上application 服務架構和cloudg管理工具

正因為Eucalyptus 一直專著與和AWS的高度相容,使用Eucalyptus, 使用者完全可以搭建一個運作在自己的資料中心的AWS region.  Eucalyptus cloud 被為是" The AWS Region Behind Your Firewall“.

Eucalyptus 的平台服務體系架構

參考AWS的服務架構體系, Eucalyptus 的服務大概分為三層

  • 基礎資源服務:  主要包括 彈性雲計算服務(EC2),彈性塊存儲服務(EBS),簡單對象存儲服務(S3) 以及網絡服務
  • 應用管理服務:  包括彈性負載均衡(ELB), 自動伸縮組(auto scaling group) 和cloud watch.
  • 部署管理服務:  主要是cloudformation.

另外,Eucalyptus 也實作了一些基礎平台服務比如IAM 服務, Eucalyptus 提供euca2ools 工具和user console 來通路和管理雲資源.

下圖是Eucalyptus 服務架構圖

Eucalyptus Cloud 介紹

和Openstack,cloudstack 一樣,Eucalyptus也支援KVM,XEN和VMWare虛拟化技術.

關于EC2和EBS,S3,ELB, CloudWatch, Auto Scaling Group 服務可以參考AWS的相關服務介紹. 這裡講講Eucalyptus 的網絡服務.

Eucalyptus 網絡服務

到Eucalyptus 4.0 (2014年5月份釋出), Eucalyptus的主要提供以下網絡服務:

  • 安全組:主要為虛拟機提供三層網絡防火牆服務
  • 彈性IP和私有IP:  為虛拟機提供固定private ip (一個私有NIC), 實作虛拟機間通信. 為虛拟機提供彈性IP,通過彈性IP把虛拟機接入外部網絡,對外提供服務
  • 二層隔離:通過VLAN或者ebtable 為租戶提供二層網絡隔離服務
  • Meta data 服務: 為虛拟機提供meta data 服務,虛拟機通過通路169.254.169.254 這個local link 位址可以擷取虛拟機的中繼資料.

目前Eucalyptus的還隻能提供EC2-Classic的網絡服務,VPC網絡服務将在4.1 實作. 目前Eucalyptus 有四5種網絡模式(除system和static)外都基本提供上述網絡

功能. Eucalyptus已經不推薦使用system和static 網絡模式,而是用4.0推出的edge網絡來代替system和static.

Eucalyptus 系統架構

Eucalyptus Cloud系統是子產品化和分布式的架構,系統由一系列可單獨部署的元件組成,這些元件通過web service 進行互動構成一個分布式系統.

Eucalyptus系統的元件分為三層:

Eucalyptus Cloud 介紹

一個Eucalyptus Cloud 雲可以由多個Cluster組成,因為一個Eucalyptus Cloud 等于一個AWS Region, 是以可以把一個Cluster

看成AWS Region裡一個Available Zone. 在具體的部署環境裡,每個Cluster可以是一個資料中心,也可以資料中心的部分

基礎資源(伺服器,存儲和網絡)

CLOUD 層

cloud 層的元件包括Cloud Controler (CLC) 和 Walrus.  Cloud 層元件是全局部署的,一個Eucalyptus Cloud隻需要部署一個CLC和Walrus

(在HA模式下,可以部署多個CLC 和Walrus 作為備份) .

Cloud Controller 元件(CLC):  CLC 是Eucalyptus Cloud 的大腦,,CLC 是API server, 同時也負責雲平台内所有資源的排程和provision 管理

在4.0之前,CLC還提供提供IAM,ELB,Auto Scaling, Cloud Watch等具體服務. 4.0之後這些服務被抽離出來,可單獨部署(稱為UFS 元件)

Walrus: Walrus 為Eucalyptus 提供S3服務,同時Walrus也用來存儲Eucalyptus Cloud 的image 和 EBS snapshot.

UFS:  4.0 之後新的元件,主要把IAM,EC2,ELB,Auto Scaling Group, Cloud Watch等服務從CLC抽離出來單獨部署,滿足大規模部署需求

CLUASTER 層

每個Cluster 都需要部署相應的Cluster 層元件來管理Cluster内的伺服器,存儲和網絡,這些元件把底層的實體資源組織成資源池,供Cloud Controller進行資源擷取和排程.

Cluster Controller元件(CC):  相當于Cluster的大腦,負責Cluster内的資源擷取和排程,在managed和managed-novlan 網絡實作方式下, Cluster Controller 也是主要網絡服務的實作者.

Storarge Controller元件(SC) :  Storage Controller 管理Cluster記憶體儲資源,負責提供EBS 服務.

VWware Broker:如果使用VMWare,VMWare Broker 負責管理Cluster内的ESXI或者vCenter.

NODE 層

一個Cluster 内會有多台伺服器,Eucalyptus 需要在伺服器上部署Node Controller 元件(NC),Node Controller 主要是和KVM/XEN Hypervisor 通信,負責

虛拟機的privisoing,以及為虛拟機接入存儲和網絡服務.

部署Eucalyptus 

Eucalyptus Cloud 的規模可大可小,最小可以由兩台server組成, 也可由跨多個資料中心的幾千台伺服器組成。下面是一些Eucalyptus Cloud 的典型部署拓撲.

1. 概念驗證(POC), 兩台伺服器 

Eucalyptus Cloud 介紹

2. 單叢集 (Cloud 層和Cluster 層的元件單獨部署)

Eucalyptus Cloud 介紹

3. 多叢集(跨資料中心)

Eucalyptus Cloud 介紹

4. 多叢集高可用部署

Eucalyptus Cloud 介紹

Eucalyputs社群介紹

同Openstack和CloudStack 不同,Eucalyptus Cloud 平台項目主要由Eucalyptus System Inc 來管理. 使用者可以在Eucalyptus System Inc 管治下社群來擷取支援

或者參與Eucalyptus Cloud的開發.  Eucalyptus System Inc也提供商業支援服務,通過購買Eucalyptus的支援服務,使用者可以擷取除社群支援之外商業支援服務

和Eucalyptus Cloud的商業插件.  Eucalyptus System Inc 在中國有代表處和研發技術支援團隊,可以為中國區使用者提供商業技術支援.

Eucalyptus WIKI  (Eucalyptus的社群,架構和設計資料)

https://github.com/eucalyptus/eucalyptus/wiki

Eucalyptus System Inc網站:

http://www.eucalyptus.com

Eucalyptus JIRA  (使用者可以在這裡送出bug和trace bug,檢視Eucalyptus的開發活動)

https://eucalyptus.atlassian.net/

Eucalyptus 文檔

https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html

Eucalyptus Email Lists

https://github.com/eucalyptus/eucalyptus/wiki/Eucalyptus-Mailing-Lists

繼續閱讀