摘要:初始化在終端中執(zhí)行。首次執(zhí)行初始化操作,會(huì)有較長的時(shí)間去獲取中定義的信息,在第一次初始化后沒有信息的變化,可以跳過初始化直接開始部署。執(zhí)行部署命令時(shí),會(huì)將的列出來展示給用戶,并由用戶確定執(zhí)行。則刪除由創(chuàng)建的容器。
前置條件: 1. 安裝好windows docker 2. 安裝好terraform
安裝windows docker可以直接登錄http://docker.com下載安裝即可,docker可以有圖形化管理頁面安裝最新的19.03。為了簡化第一次的操作,這里我們先不通過terraform來安裝docker,docker下載安裝地址https://www.docker.com/get-started
terraform {
required_providers {
docker = {
source = "terraform-providers/docker"
}
}
}
provider "docker" {
host = "tcp://localhost:2375"
}
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}
resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "tutorial"
ports {
internal = 80
external = 8000
}
}
其中值得注意的是,官方的例子,在provider "docker"中指定的host是通過windows的管道完成的,怕是已經(jīng)很多人不會(huì)用了。這里需要在docker desktop中設(shè)置開啟"tcp://localhost:2375",并替換tf文件中的host ="tcp://localhost:2375"。
筆者使用的vs code,可以直接右鍵在終端中打開,然后依次進(jìn)行以下步驟。
在終端中執(zhí)行terraform init
。首次執(zhí)行初始化操作,會(huì)有較長的時(shí)間去獲取terraform中定義的source信息,在第一次初始化后沒有source信息的變化,可以跳過初始化直接開始部署。
在終端中執(zhí)行terraform plan
查看terraform執(zhí)行計(jì)劃,在終端中執(zhí)行terraform apply
完成部署。執(zhí)行部署命令時(shí),會(huì)將terraform的plan列出來展示給用戶,并由用戶確定執(zhí)行。也可以輸入-auto-approve
跳過plan。
輸入"yes"
安裝完成!
查看結(jié)果。
大家可以簡單的字面理解main.tf中的語義,會(huì)在后面的內(nèi)容中詳細(xì)介紹,在此次執(zhí)行中我們會(huì)在本地創(chuàng)建一個(gè)nginx的容器,并暴露800端口,我們?cè)L問localhost:800可以看到由terraform創(chuàng)建的容器可以正常運(yùn)行。
在終端中執(zhí)行terraform destroy
。則刪除由tf創(chuàng)建的docker容器。
在我們執(zhí)行terraform -h
后看到terraform的相關(guān)操作命令和使用方法,整理給大家,如果你剛剛開始使用terraform,可以從這些基礎(chǔ)命令開始,對(duì)于其他命令,請(qǐng)使用前閱讀terraform的官方文檔。
Usage: terraform [-version] [-help] [args]
Common commands:
apply 構(gòu)建或更改基礎(chǔ)設(shè)施
console terraform傳參的交互式控制臺(tái)
destroy 刪除由terraform控制的基礎(chǔ)設(shè)施
env 工作空間管理
fmt 將配置文件重寫為規(guī)范格式
get 下載并安裝配置模塊
graph 創(chuàng)建terraform資源的可視化圖形
import 將現(xiàn)有基礎(chǔ)設(shè)施導(dǎo)入terraform
init 初始化terraform的工作目錄
login 獲取并保存遠(yuǎn)程主機(jī)的憑據(jù)
logout 刪除遠(yuǎn)程主機(jī)的本地存儲(chǔ)憑據(jù)
output 從狀態(tài)文件讀取輸出
plan 生成并顯示執(zhí)行計(jì)劃
providers 打印配置中使用的提供程序的樹型結(jié)構(gòu)
refresh 根據(jù)實(shí)際資源更新本地狀態(tài)文件
show 檢查terraform的狀態(tài)或計(jì)劃
taint 手動(dòng)標(biāo)記污點(diǎn)以便資源重新創(chuàng)建
untaint 手動(dòng)取消污點(diǎn)
validate 驗(yàn)證terraform文件
version terraform版本
workspace 工作空間管理
All other commands:
0.12upgrade 重寫v0.12之前的模塊源代碼
0.13upgrade 重寫v0.13之前的模塊源代碼
debug debug輸出管理
force-unlock 手動(dòng)解除terraform鎖定狀態(tài)
push 推送完成代碼到企業(yè)倉庫
state 關(guān)鍵狀態(tài)管理
本文作者:UCloud 容器云產(chǎn)品經(jīng)理 沈旭
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/126004.html
摘要:是一款優(yōu)秀的開源工具,中文文檔較少,特此整理相關(guān)內(nèi)容及使用方法。安裝在上安裝還是相對(duì)簡單的,由于缺少中文文檔相關(guān)介紹內(nèi)容,在上安裝也有踩了一些坑。操作后再次執(zhí)行命令即可完成安裝。安裝完成后執(zhí)行可查看當(dāng)前安裝版本,并檢查安裝成功。Terraform是一款優(yōu)秀的開源devops工具,中文文檔較少,特此整理Terraform相關(guān)內(nèi)容及使用方法。Terraform是什么?在原始的數(shù)據(jù)中心應(yīng)用部署中,...
摘要:第二十一期啟迪云資深交付經(jīng)理董樂前文回顧運(yùn)用代碼管理基礎(chǔ)架構(gòu)之鏡像利器一需求分析隨著公有云平臺(tái)功能的日趨完善,混合云的架構(gòu)逐步會(huì)成為企業(yè)是首要選擇。 第二十一期 啟迪云資深交付經(jīng)理 ?董樂前文回顧:運(yùn)用代碼管理基礎(chǔ)架構(gòu)之-鏡像利器(一)需求分析隨著公有云平臺(tái)功能的日趨完善,混合云的架構(gòu)逐步會(huì)成為企業(yè)是首要選擇。面對(duì)混合云的環(huán)境我們?nèi)绾喂芾砦覀兊幕A(chǔ)架構(gòu)?我們以創(chuàng)建一個(gè)web平臺(tái)為例:傳統(tǒng)方式...
看到Terraform可以替代kubectl管理k8s資源的生命周期,于是調(diào)研了下它的使用場(chǎng)景,并對(duì)比Terraform和Helm的區(qū)別 一.Terraform介紹 Terraform是一款開源工具,出自HashiCorp公司,著名的Vagrant、Consul也出自于該公司。其主要作用是:讓用戶更輕松地管理、配置任何基礎(chǔ)架構(gòu),管理公有和私有云服務(wù),也可以管理外部服務(wù),如GitHub,Nomad。...
看到Terraform可以替代kubectl管理k8s資源的生命周期,于是調(diào)研了下它的使用場(chǎng)景,并對(duì)比Terraform和Helm的區(qū)別 一.Terraform介紹 Terraform是一款開源工具,出自HashiCorp公司,著名的Vagrant、Consul也出自于該公司。其主要作用是:讓用戶更輕松地管理、配置任何基礎(chǔ)架構(gòu),管理公有和私有云服務(wù),也可以管理外部服務(wù),如GitHub,Nomad。...
閱讀 3546·2023-04-25 20:09
閱讀 3745·2022-06-28 19:00
閱讀 3066·2022-06-28 19:00
閱讀 3092·2022-06-28 19:00
閱讀 3185·2022-06-28 19:00
閱讀 2886·2022-06-28 19:00
閱讀 3057·2022-06-28 19:00
閱讀 2644·2022-06-28 19:00