通过Terraform管理BLB
更新时间:2025-04-24
概览
本文介绍了通过Terraform管理BLB的方式,实现对BLB资源的快速创建、管理等功能。
需求场景
简化资源运维,利用代码即基础设施的思想,通过编写Terraform相关代码文件来实现对BLB生命周期的管理。
方案概述
- 下载Terraform工具,准备基础环境
 - 编写.tf文件, 配置BLB的基础属性
 - 通过Terraform相关命令完成对BLB的生命周期管理
 
配置步骤
环境准备
- 准备一台可以连接到Internet的PC或者笔记本电脑
 - 登录Terraform官网
 - 选择对应系统进行下载,解压后是一个2进制可执行文件,需要进行环境变量配置
 - 进入配置文件 vi ~/.bash_profile
 - 添加环境变量 export PATH=${PATH}:/path (path:二进制文件位置)
 - 配置生效 source ~/.profile
 - 检查Terraform是否可以正常运行 :执行 terraform -v 如果可以正常显示版本号则证明安装成功
 
Terraform管理BLB示例
编辑相关tf文件,用于管理BLB实例配置
- 编辑main.tf :用于配置要下载的provider版本及后续需要的ak sk信息
 
                Plain Text
                
            
            1    terraform {
2        required_providers {
3            baiducloud = {
4                source  = "baidubce/baiducloud"    #源地址
5                version = "1.12.0"  #版本号
6            }
7        }
8    }
9 
10    provider "baiducloud" {
11        access_key  = "xxxxx"    #用户uid对应的ak
12        secret_key  = "xxxx"       #用户uid对应的sk
13        region      = "bj"               #待创建实例所在地域
14    }
            - 编辑.tf文件创建vpc
 
                Plain Text
                
            
            1    resource "baiducloud_vpc" "default" {
2        provider = baiducloud.bj
3        name = "terra-test-vpc"
4        description = "baiducloud vpc created by terraform"
5        cidr = "192.168.0.0/16"
6    }
            - 编辑.tf文件创建subnet
 
                Plain Text
                
            
            1    resource "baiducloud_subnet" "default" {
2      name = "terra-subnet"
3      zone_name = "cn-bj-a"
4      cidr = "192.168.3.0/24"
5      vpc_id = "${baiducloud_vpc.default.id}"  # 上一步创建好的vpcid
6    }
            - 编辑.tf文件创建BLB实例
 
                Plain Text
                
            
            1    resource "baiducloud_blb" "default" {
2      name        = "terratestLoadBalance-changed"
3      description = "this is a test LoadBalance instance"
4      vpc_id      = "${baiducloud_vpc.default.id}"     # 上一步创建好的vpcid
5      subnet_id   = "${baiducloud_subnet.default.id}"  # 上一步创建好的subnetid
6    }
            - 完整配置信息如下:
 
                Plain Text
                
            
            1    resource "baiducloud_vpc" "default" {
2        name = "terra-test-vpc"
3        description = "baiducloud vpc created by terraform"
4        cidr = "192.168.0.0/16"
5    }
6
7    resource "baiducloud_subnet" "default" {
8        name = "terra-subnet"
9        zone_name = "cn-bj-a"
10        cidr = "192.168.3.0/24"
11        vpc_id = "${baiducloud_vpc.default.id}"
12    }
13
14    resource "baiducloud_blb" "default" {
15        name        = "terratestLoadBalance-changed"
16        description = "this is a test LoadBalance instance"
17        vpc_id      = "${baiducloud_vpc.default.id}"
18        subnet_id   = "${baiducloud_subnet.default.id}"
19    }
            执行Terraform命令创建BLB实例
- terraform init : 用于下载或更新百度provider,出现以下信息代表下载成功。
 

- terraform plan:确认资源变更计划
 - terraform apply:执行资源创建,出现以下信息代表下载成功
 

资源销毁
- 执行terraform destroy 命令可销毁上述资源
 

测试验证
- 执行terraform show 查看是否显示如下信息
 

- 登录百度智能云,查看是否成功购买
 

