天天看點

基于資源編排和 Ansible 在經典網絡下快速傳遞應用

在經典網絡環境和 vpc 環境下傳遞應用的最大差別在于經典網絡環境不需要 vpc、vswitch等其他相關資源的支援,隻需要 ecs 和 公網 ip 資源即可。除此之外,基于資源編排和 ansible 在經典網絡下快速傳遞應用的流程和步驟與在 vpc 下完全相同。下面本文仍以搭建 redis 叢集為例,展示在經典網絡下快速傳遞應用。

和上一篇一樣,在搭建應用之前,首先需要在 master 機器上安裝 ros sdk 和 ansible。

下面展示基于 ros api 和 ansible 在經典網絡下快速搭建一主(master)兩備(slave) redis 叢集的詳細過程。

為了提高 redis 叢集的高可用性,在搭建 redis 叢集時為其部署高可用性解決方案 sentinel,以幫助 redis 叢集實作自動化的主備切換。

首先定義資源棧模闆。由于是經典網絡環境,是以在模闆中隻需要定義建構三台雲主機 ecs 資源和對應數量的 eip 資源即可。為了友善起見,我在模闆中使用資源 <code>"type": "aliyun::ecs::instancegroup"</code> 定義 ecs 資源。定義資源棧的模闆可詳見附件中的 python 檔案 create_instancegroup_template.py。

模闆定義成功後,編輯 python 代碼,以模闆作為參數,調用 ros api 即可實作對資源環境的搭建。需要注意的是,在傳遞參數時應注意增加關于配置設定公網 ip 的參數。如下是調用 ros api 的 python 檔案 create_stack_instancegroup.py:

這部分跟在 vpc 環境下的一樣,此處不再贅述。

這部分也跟在 vpc 環境下的一樣,不再贅述。

在經典網絡下搭建 redis 叢集的所有代碼檔案可詳見附件。在經典網絡下,redis 叢集搭建成功後的資源拓撲圖如下所示:

基于資源編排和 Ansible 在經典網絡下快速傳遞應用