新聞中心
了解如何使用Terraform管理多云?
譯文
作者:布加迪編譯 2018-12-19 08:00:24
云計算
開源 多云戰(zhàn)略可能會給企業(yè)IT團隊帶來很多復雜性。雖然Puppet、Chef和Ansible等幾款開源端點管理工具有所幫助,但能夠通過單一入口點而不是通過典型的服務(wù)器/客戶端關(guān)系將服務(wù)部署到多個提供者來得尤其重要。

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出西崗免費做網(wǎng)站回饋大家。
【51CTO.com快譯】多云戰(zhàn)略可能會給企業(yè)IT團隊帶來很多復雜性。雖然Puppet、Chef和Ansible等幾款開源端點管理工具有所幫助,但能夠通過單一入口點而不是通過典型的服務(wù)器/客戶端關(guān)系將服務(wù)部署到多個提供者來得尤其重要。
HashiCorp的Terraform是一個開源基礎(chǔ)架構(gòu)即代碼(IaC)工具,可以為管理員建立單一的工作流程,以便跨任何云提供商對基礎(chǔ)架構(gòu)進行可預(yù)測、可重現(xiàn)的更改。除了簡化管理虛擬機和依賴項外,它還簡化了跨多家提供商部署服務(wù)的工作。Terraform是一種IaC工具,它還使團隊能夠共享、重用、部署和回滾基礎(chǔ)架構(gòu)更改,就像它們使用代碼版本一樣。
開始入手
不妨看一下一個基本的Terraform配置文件,它同時配置AWS EC2實例和Google App Engine應(yīng)用程序。
- provider "aws" {
- access_key = "ACCESS_KEY_HERE"
- secret_key = "SECRET_KEY_HERE"
- region = "us-east-1"
- }
- provider "google" {
- credentials = "${file("account.json")}"
- project = "my-project-id"
- region = "us-central1"
- }
- resource "aws_instance" "example" {
- ami = "ami-123456789"
- instance_type = "t2.micro"
- }
- resource "google_project" "my_project" {
- name = "My Project"
- project_id = "your-project-id"
- org_id = "1234567"
- }
- resource "google_app_engine_application" "app" {
- project = "${google_project.my_project.project_id}"
- location_id = "us-central'
- }
上述配置定義了兩個提供者(provider)和三個資源。在Terraform中,提供者是指與某種API交互的服務(wù),本例中是AWS和谷歌云平臺(GCP)。雖然提供者指令最直觀的用途是用來配置一個或多個云平臺,但也有其他許多資源可供使用,比如數(shù)據(jù)庫驅(qū)動程序、網(wǎng)絡(luò)平臺和版本控制系統(tǒng)。
你在定義提供者后,可以為該提供者聲明資源。在上述例子中,有三個已定義的資源:AWS EC2實例、GCP項目和Google App Engine應(yīng)用程序。資源是某個云提供的任何工具或服務(wù),比如存儲、數(shù)據(jù)庫或計算。然而,資源也可以定義本地文件,甚至定義隨機數(shù)據(jù)生成器。
適應(yīng)變化
使用Terraform時要采取一切預(yù)防措施,以避免任何意外的成本。
除了能夠使用定義明確的配置文件配置應(yīng)用程序基礎(chǔ)架構(gòu)外,Terraform還可以適應(yīng)不斷變化的需求。這項獨特功能使管理員能夠?qū)ε渲梦募M行更改,不用成倍增加工作或基礎(chǔ)架構(gòu)。比如說,假設(shè)我們的上述配置文件更改為以下內(nèi)容:
- provider "aws" {
- access_key = "ACCESS_KEY_HERE"
- secret_key = "SECRET_KEY_HERE"
- region = "us-east-1"
- }
- resource "aws_instance" "example" {
- ami = "ami-123456789"
- instance_type = "t2.micro"
- }
添加和刪除資源時,Terraform會識別這些更改并相應(yīng)地更新你的基礎(chǔ)架構(gòu)。由于Terraform保留任何應(yīng)用的配置文件的先前狀態(tài),因此它知道刪除先前配置的GCP資源,又不嘗試重新配置AWS資源。這在更改可能隨時變化的版本控制環(huán)境中尤其有用。
面臨的挑戰(zhàn)
Terraform***的好處之一也帶來了***的風險:由于它很容易使用,如果不仔細考慮,用戶可能會面臨巨大成本。只要使用一個命令,用戶就可以將任何配置文件應(yīng)用于已配置的提供者,這可能導致眾多資源部署到任意數(shù)量的云提供者。雖然Terraform通過計劃讀出和確認機制有助于防范這種情況,但事故可能會發(fā)生。使用Terraform時要采取一切預(yù)防措施,以避免任何意外的成本。
此外,Terraform可以適應(yīng)針對任何已配置環(huán)境作出的更改,因為它可以存儲已配置基礎(chǔ)架構(gòu)的狀態(tài)。雖然這為創(chuàng)建、修改和刪除基礎(chǔ)架構(gòu)提供了一種快速的機制,但該工具并不在每次運行時都檢查云資源,這意味著你從多臺計算機更改基礎(chǔ)架構(gòu)時難免增添共享狀態(tài)的開銷。
網(wǎng)頁標題:了解如何使用Terraform管理多云?
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/dpsesgd.html


咨詢
建站咨詢
