iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 28
0
Elastic Stack on Cloud

ES 新手,破門而入!!!系列 第 28

【ES新手,破門而入!】Day28 - 雲玩家就用雲服務!ECE 帶著服務上雲端

你可以學到?

接下來兩天,我們將會進一步認識 Elasitc Cloud Enterprise(ECE),知道它如何運作以及如何在我們的架構下部署。

本篇的主題包含有:

  1. ECE 架構

那我們就開始吧!

Why ECE?

ECE 是一個基於 Elastic Stack 的雲端服務,他可以部署在許多環境如 GCP、AWS、Azure,甚至是 Private Cloud,因為 ECE 服務已經容器化(Containerized),所以安裝的環境能適用在很多不同的設置下。

使用 ECE 的優點有:

  • 有效地管理大量地 ES clusters
  • 安全性、高可用性、備份、最新版本和針對多個 clusters 有各種不同的策略
  • 確保使用者在他們的使用情況下,採用正確的架構
  • 在多個 clusters 下,最大化硬體的使用率

ECE 架構

ECE 有 4 個重要的架構原則:

  1. 服務導向的架構
  2. 使用 Docker 容器化
  3. 使用 Zookeeper 做部署狀態協調
  4. 容易透過 Cloud UI 存取

下圖是 ECE 的簡單架構示意圖,你可以看到有許多區塊,首先我們要先了解 角色(Roles)運行者(Runners) 之間的差異:

  • 運行者(Runners):
    • 是單一機器的管理者(Supervisor)
    • 被指派一個或多個角色
    • 確保所有容器對應的角色是在線上且健康的
  • 角色(Roles):
    • 對應到一個或多個容器(Containers)

在架構圖中我們可以看到許多角色包含:

  • Proxy role:
    • 處理使用者請求
    • 追蹤雲端設備的狀態與可用率
    • 協助無停機擴充和升級
    • 一般來說會放多個 Proxy 在 load balancer 之後(但這部分 ECE 並不會處理,使用者必須自己處理 load balance)
  • Allocator role:
    • 運行所有想要使用 ES 和 Kibana 的節點
    • 當有請求時,創建新的容器和啟動 ES 和 Kibana 節點
  • Coordinator role:
    • 由 Constructor、Cloud UI 和 Admin API 所組成
    • Constructor 是一個調度者,監控從 Admin console 來的請求,決定什麼需要在架構中改變,並將這些改動寫入 ZooKeeper 之中
  • Director role:
    • 管理分散的 data store

前置需求

在開始實作之前,對於安裝 ECE 必須要先確定我們的環境有符合下列五種分類的需求:

  • 硬體
    • 記憶體:
      • 至少 8 GB RAM
      • Allocators 建議 128~256 GB RAM,其他 host 64 GB
    • 儲存空間:
      • 至少 10 GB
      • Allocators 需要足夠的儲存空間以維持 RAM-to-storage 比例
      • 若預設比例是 1:32,而主機有 16 GB RAM,那麼儲存空間需要有 512 GB
  • 軟體
    • 作業系統:
      • Ubuntu 14.04 LTS (Trusty Tahr) - Docker version 18.09.2
      • Ubuntu 16.04 LTS (Xenial Xerus) - Docker version 18.09.2
      • Red Hat Enterprise Linux 7 or later (RHEL 7) - Docker version 1.13
      • CentOS 7 or later - Docker version 1.13 and 18.09.2
      • SUSE Linux Enterprise Server (SLES) 12 - Docker version 18.09.2
  • 使用者
    • 準備環境:
      • 使用者有 sudo 權限
      • 已安裝 Docker、XFS
    • 安裝 ECE:
      • 使用者 UIDGID 大於等於 1000
      • 屬於 docker group
      • 不要以 root 使用者安裝 ECE
  • 網路
    • 開啟如下表的 ports,確保 ECE 可以存取:
  • JVM heap size
    • 不同角色需要的 JVM heap size 略有不同,如下表:

今日心得與短結

今天我們了解了 ECE 的架構及其中角色負責的內容,明天我們將透過一系列的實作,實際了解操作 ECE 的時候是什麼感覺!


上一篇
【ES新手,破門而入!】Day27 - 預防勝於治療!網路異常偵測保健篇!
下一篇
【ES新手,破門而入!】Day29 - 雲玩家就用雲服務!遨遊於 ECE 之間
系列文
ES 新手,破門而入!!!30

尚未有邦友留言

立即登入留言