zoukankan      html  css  js  c++  java
  • terraform 常用命令

    文件目录

    provider.tf provider(提供者) 配置
    terraform.tfvars 配置 provider 要用到的变量
    varable.tf 通用变量
    resource.tf 资源定义
    data.tf 包文件定义
    output.tf 输出
    

    常用命令

    创建配置文件

    mkdir terraform
    

    验证*.tf目录中是否没有其他文件,因为Terraform会加载所有文件。

    初始化工作目录

    terraform init
    terraform init -input=false
    

    初始化,会执行几个操作
    如果设置了 -from-module 会拷贝来源 module 到当前文件夹, 支持 remote path (http/git)
    Child Module Installation: 获取所有依赖的 module
    Backend Initialization: 初始化 backend,默认使用 local, backend 是扩展 terraform的一种方式,可以分为两种
    Standard: 很多云厂商实现了这种,用于存储 state 文件
    Enhanced: 处理存储 state 文件,还可以执行,比如plan, apply
    安装插件 (Plugin): 主要是 providers, 获取的时候会根据名字去 registry.terraform.io 查找信息,安装

    创建执行计划

    terraform plan
    

    计划执行,会生成可能的新 state 并和旧state 做比较,输出计划
    加载 backend
    load config, 生成一个 Operation, OperationTypePlan 并执行
    Plan 操作调用 terraform.Context 执行,生成一个 terraform.Graph, 这时候的 graph builder 是一个 PlanGraphBuilder
    Build graph的操作由几个 GraphTransformer 组成,比如 ConfigTransformer 创建配置中的 Resource, LocalTransformer add local values, OutputTransformer 增加输出
    Walk terraform.Graph: walkOperation 为 walkPlan, walk 操作会有多个 goroutine (vertex两倍数量) 并发执行(考虑依赖关系)
    Walk 对每个 vertex 执行 EnterPath,EnterEvalTree 等操作
    每个 vertex 如果能 Eval,会被 Evaluation

    创建一个计划并将其保存到本地文件中tfplan

    terraform plan -out=tfplan -input=false
    

    检查当前状态

    terraform show
    

    执行计划

    terraform apply
    

    应用存储在文件中的计划tfplan

    terraform apply -input=false tfplan
    

    应用计划自动批准

    terraform apply -input=false -auto-approve
    

    释放资源

    terraform destroy
    

    多环境部署

    terraform workspace select QA
    
  • 相关阅读:
    Centos 设置时区
    编译安装squid3.1亲测
    单点登录(SSO)的实现—通行证的基本原理
    squid反向代理基本概述及性能事项
    tmpfs加速并降低squid负载(一)
    sencha touch 2中list控件分组排序
    解决Sencha Touch 2 MVC部署App.json不被识别问题
    st大量参数提交方案参考
    Sencha Touch 载入base64格式的图片数据
    解决Sencha Touch 2 MVC部署App.json不被识别问题
  • 原文地址:https://www.cnblogs.com/syavingcs/p/13355811.html
Copyright © 2011-2022 走看看