fbpx

T.A.D.S –Terraform + Ansible + Docker Swarm 樣板 = 開啟 DevOps 🔥🔥🔥

開源專案介紹

這個開源工具可用來建立一個完整的基礎設施即程式碼(IaC)儲存庫的樣板檔案,從配置到部署使用:

  • Terraform 用來建立你的雲端基礎設施
  • Vagrant 用在本地端重現一個營運環境
  • Ansible 負責提供虛擬機器和建立 Docker Swarm 叢集
  • 使用 Ansible 再次部署你的堆疊( stacks )

它可以處理不同的環境:

  • localhost:你機器上的單節點 Docker Swarm 叢集,對開發非常有用 ( Demo )
  • vagrant:在你的電腦上部署了一個3節點的類似營運叢集,可用於測試 ( Demo )
  • production:你的營運環境! 它可以由 Terraform 建立,也可以使用現有的 bare metal/VMs 基礎架構 ( Demo )

除此之外,它的特色有:

  • 一個命令列工具組合(./tads),包裝了 Terraform,Ansible和 Vagrant 命令。例如 ansible-playbook -i inventories/production -D –vault-id production@vault_keys/production deploy.yml 變成了 ./tads ansible-playbook production deploy. 有沒有覺得比較方便?
  • 使用 Jinja2 做 Docker Swarm Compose 檔案樣板,所以你可以一次定義你的服務,使用同樣的檔案客製化它們的每個環境
  • 實踐  dockerswarm.rocks’ recommended good practices 的範例:附有 HTTPS的 traefik 反向代理(甚至在本地),更多功能即將推出
  • 聰明的/etc/hosts管理,可使用 .localhost 和 .test https URI 訪問本地和Vagrant應用程式
  • AES-256 加密你的的營運憑證與 ansible-vault

有了 T.A.D.S,你只需要3條命令,就可以在不到3分鐘的時間內為你的專案找到一個新的開發人員! 即使你有一個複雜的微服務架構。 忘記那些過時的維基百科或者安裝程式吧,它們已經不再需要了!

這個工具適合誰?

  • 我是唯一一個瞭解營運環境如何運作的人
  • 我仍然必須在營運環境中執行 SSH 命令,這使我感到悲哀,因為我不能 rollback 或審查: (
  • 為新的團隊成員建立一個新的開發環境需要一整天的時間和大量的資源
  • 我的團隊深受“微服務地獄”之苦: 在開發之前,我們必須安裝許多服務
  • 開發人員在他們的機器上使用 docker-compose,而我們在營運環境中使用其他東西
  • 我想做基礎設施即程式碼(IaC)
  • 我想在我的團隊中提升 DevOps 的思維模式
  • 我不需要 Kubernetes 的特性和複雜性
  • 我不想被像 AWS ECS 這樣的服務鎖定
  • 我開始一個新的專案,我想很快啟動它與使用好的實踐預置

相反的,這個專案可能不適合你,如果

  • 你有一個很大的叢集 ( 超過一百台機器 )
  • 你需要像 Kubernetes 這樣的自動擴展功能

但是不要難過,這個專案正在考慮為 K8s 建立一個類似的專案

相關學習資訊

更多 DevOps 開源專案介紹

 歡迎訂閱DevOps學習資訊分享Telegram頻道

Spread the love

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: