使用 OCI 容器執行處理簡化容器化應用系統的管理
執行容器化應用系統可能需要很長的額外負荷,包括建立虛擬機器、安裝元件以執行容器映像檔,以及所有用以支援該映像檔的相依性,包括軟體和作業系統更新,以及執行這些應用程式時監控應用程式,以確保這些應用程式能夠以最佳方式執行、可用性且尚未受到危害。
容器執行處理是一個完全受管理的 Oracle Cloud Infrastructure (OCI) 運算服務,可讓客戶無須管理伺服器,即可執行容器化應用系統。這可讓客戶專注於提升應用系統價值,而不是部署及管理基礎架構。
或者,若要在沒有容器執行處理的情況下執行容器化應用程式,客戶必須建立虛擬機器,並安裝所有元件來執行容器映像檔。這包括容器程式實際執行 (例如 Docker 或 Podman),以及支援該容器的所有相依性。此外,客戶也必須安裝最新的安全補丁,並套用正確的安全設定值,以保護虛擬機器。隨著導入軟體和作業系統的新更新,必須一致地套用更新和修補程式。應用程式執行時,需要備妥監控功能,以確保應用程式以最佳方式執行、可用性且尚未妥協。
有了「容器執行處理」,客戶只需建立應用程式的容器映像檔,然後將它們儲存在容器登錄中。接著,您可以使用含有 CLI 命令的容器執行處理或 OCI 主控台的引導式 GUI 精靈,依照下列步驟進行部署。
- 定義容器執行處理參數:客戶定義要執行容器執行處理的 OCI 區域,以及選擇性地定義可用性網域和容錯域。接著,客戶會選取「容器執行處理」的運算型態。您最多可以為每個執行處理配置給所選運算資源配置的 CPU 和記憶體。例如,如果您選擇 AMD E3/E4 資源配置,在容器執行處理中可以有 64 個 OCPU (128 個 vCPU) 和 1024 GB 記憶體。接下來,您可以新增網路設定值,例如容器執行處理是否需要公用 IP 位址和容器執行處理的子網路,以及選擇性的進階網路組態。在此步驟中,您也可以選擇指定專用 DNS 記錄和主機名稱,這會為「容器執行處理」產生完整的網域名稱。您也可以使用選擇性的進階選項來設定容器重新啟動原則。
- 指定應用程式的啟動組態:在此步驟中,指定要執行的容器映像檔位置,以及容器映像檔的任何必要環境變數。映像檔可位於 Oracle Cloud Infrastructure Registry 中,或容器執行處理具有 IP 連線的任何公用或專用 Open Container Initiative 相容登錄中。針對專用註冊,您必須提供存取容器映像檔的證明資料。
- 複查並建立:最後一個步驟是複查所有組態,如果一切都正確,您可以繼續進行建立,並且在幾秒內啟動容器執行處理。
系統只向客戶收取配置給其執行處理的 CPU 和記憶體資源,費率與一般 Oracle Cloud Infrastructure Compute 相同。容器執行處理藉由簡單的使用經驗、無縫接軌的操作,無須額外付費,即可提供在雲端執行容器的最佳價值。客戶也可以使用標準資料庫連線機制與其他 OCI 服務 (例如 MySQL 服務和 Oracle Autonomous Database) 整合容器執行處理,輕鬆運用其他 OCI 服務進行容器化應用系統。
架構
此架構使用容器執行處理部署一個含有整合 MySQL 資料庫的容器化 WordPress 應用程式。容器執行處理將會部署在具有可從網際網路存取之公用 IP 位址的公用子網路中。
容器執行處理是專為不需要容器協調的獨立應用程式所設計。其中包括 API、Web App、CI/CD 工作、自動化作業、資料和媒體處理、開發和測試環境等等。針對需要協調的容器化應用系統,OCI 提供 Oracle Container Engine for Kubernetes (OKE),這是一個含有無伺服器選項且搭配虛擬節點的受管理 Kubernetes 服務。
每個容器執行處理都可以執行多個容器。容器執行處理中的所有容器會共用相同的生命週期、資源、網路及儲存。容器執行處理中的容器與主要應用程式容器和支援側邊欄容器的 Kubernetes 中的 Pod 相同。側邊欄容器可以增強或擴充主要應用程式容器的功能。範例是具有主要 Web 應用程式和側邊欄容器的容器執行處理,可將 Web 應用程式日誌匯出至記錄伺服器。
注意:
執行資料庫容器與應用程式容器只適用於開發和測試。在生產環境部署使用 Oracle MySQL Database Service 。我們將在這個參照架構中部署含有容器執行處理的整合式資料庫 WordPress。以下視訊步驟通過程序。
下圖說明此參考架構。
oci-container-instance-wordpress-oracle.zip
架構具有下列元件:
- 租用戶
租用戶是 Oracle 會在註冊 Oracle Cloud Infrastructure 時,於 Oracle Cloud 內設定安全且隔離的分割區。您可以在租用戶內,在 Oracle Cloud 中建立、組織及管理您的資源。租用戶與公司或組織同義字。通常,公司會有一個租用戶,並反映其在該租用戶內的組織結構。單一租用戶通常與單一訂閱關聯,而單一訂閱通常只有一個租用戶。
- 區域
Oracle Cloud Infrastructure 區域是一個包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,而且遠距離也能分隔它們 (跨國家或甚至大陸)。
- 區間
區間是 Oracle Cloud Infrastructure 租用戶的跨區域邏輯分割區。使用區間在 Oracle Cloud 中組織您的資源、控制對資源的存取,以及設定使用狀況配額。若要控制對指定區間中資源的存取,您需要定義可指定誰存取資源的原則,以及可執行哪些動作。
- 可用性網域
可用性網域是區域內的獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域並不共用基礎設施,例如電力或散熱冷卻系統或內部可用性網域網路。因此,某個可用性網域發生故障並不會影響該區域中的其他可用性網域。
- 容錯域
容錯域是可用性網域內的一組硬體和基礎架構。每個可用性網域都具備三個具有獨立電源和硬體的容錯域。當您分散多個容錯域的資源時,您的應用系統可以忍受容錯域內的實體伺服器故障、系統維護及電源故障。
- 虛擬雲端網路 (VCN) 和子網路
VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可客製化的軟體定義網路。與傳統資料中心網路一樣,VCN 可讓您完整控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 之後變更這些區塊。您可以將 VCN 區段成子網路,可以將範圍擴展到區域或可用性網域。每個子網路都包含一個連續的位址範圍,這些位址不會與 VCN 中的其他子網路重疊。您可以在建立子網路後變更其大小。子網路可以是公用或專用。
- 安全清單
針對每個子網路,您可以建立指定來源、目的地以及必須允許進出子網路之流量類型的安全規則。
- 網路位址轉譯 (NAT) 閘道
NAT 閘道可讓 VCN 中的專用資源存取網際網路上的主機,而不會向內送網際網路連線暴露這些資源。
- 服務閘道
服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。VCN 到 Oracle 服務的流量會透過 Oracle 網路架構移動,而一律不會周遊網際網路。
- 容器登錄
Oracle 管理的登錄可讓您簡化開發至生產環境工作流程。
建議
- VCN
建立 VCN 時,請根據計畫要在 VCN 中連附至子網路的資源數目,決定所需的 CIDR 區塊數目與每個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。
選取未與任何其他網路重疊的 CIDR 區塊 (在 Oracle Cloud Infrastructure 中、企業內部部署資料中心或其他雲端提供者),以設定專用連線。
建立 VCN 之後,您可以變更、新增以及移除其 CIDR 區塊。
設計子網路時,請考量您的流量和安全需求。將特定層或角色中的所有資源連附至相同的子網路,作為安全界限。
- 安全
透過 Oracle Cloud Guard 主動監控及維護您 Oracle Cloud Infrastructure 中資源的安全。「雲端保全」使用偵測器處方,您可以加以定義以檢查資源是否有安全弱點,以及監控操作員和使用者的危險活動。偵測到任何組態錯誤或不安全活動時,雲端保全會建議更正動作,並根據您可以定義的回應器處方協助採取這些動作。
對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是與基於最佳做法之 Oracle 定義安全原則處方關聯的區間。例如,安全區域中的資源不能從公用網際網路存取,因此必須使用客戶管理的金鑰加密。您在安全區域中建立及更新資源時,Oracle Cloud Infrastructure 會根據安全區域處方中的原則驗證作業,並拒絕違反任何原則的作業。
- 雲端保全
複製並自訂 Oracle 提供的預設處方,以建立自訂偵測器和回應器處方。這些方法可讓您指定哪些類型的安全違規會產生警告,以及允許對這些違規執行的動作。例如,您可以偵測設為公用的物件儲存的儲存桶。
在租用戶層級套用雲端保全,以涵蓋最廣泛的範圍並降低維護多個組態的管理負擔。
您也可以使用「受管理清單」功能,將特定組態套用至偵測器。
- 安全區域
對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是與基於最佳做法之 Oracle 定義安全原則處方關聯的區間。例如,安全區域中的資源不能從公用網際網路存取,因此必須使用客戶管理的金鑰加密。您在安全區域中建立及更新資源時,Oracle Cloud Infrastructure 會根據安全區域處方中的原則驗證作業,並且拒絕違反任何原則的作業。
- 網路安全群組 (NSG)
您可以使用 NSG 定義一組套用至特定 VNIC 的輸入和輸出規則。我們建議您使用 NSG 而非安全清單,因為 NSG 可讓您將 VCN 的子網路架構與應用系統的安全需求分開。
- 負載平衡器頻寬
建立負載平衡器時,您可以選取預先定義的資源配置以提供固定頻寬,或指定自訂 (彈性) 資源配置供您設定頻寬範圍,並讓服務根據流量模式自動調整頻寬。有了其中一種方法,您便可以在建立負載平衡器之後,隨時變更資源配置。