使用Terraform管理CFS最佳实践
所有文档
menu

文件存储 CFS

使用Terraform管理CFS最佳实践

产品详情自助选购

概览

百度智能云文件存储(Cloud File System)通过对标准NFS协议的支持,兼容POSIX接口,为云上的虚机、容器资源提供了跨操作系统的文件存储及共享能力。同时,百度智能云CFS提供简单、易操作的对外接口,并支持按实际使用量计费(公测期间免费),免去部署、维护费用的同时,最大化提升您的业务效率。

在目前的CFS使用过程中,开发和运维人员需要登录百度智能云的控制台,在控制台的页面内进行操作,从文完成CFS的创建、变更和释放等过程。这种做法很容易因为人为因素导致部署和管理上的错误,而且,资源不能进行批量的创建和管理、变更等操作。

通过Terraform这种基础设施架构自动化编排工具,能够很好的解决上述问题,Terraform能够创建配置文件的模板,以可重复、可预测的方式定义和预配百度智能云上的资源,减少人为因素导致的部署和管理错误。能够多次部署同一模板,创建相同的开发、测试和生产环境。

需求场景

面向企业IT人员(提升云上资源的管理维护效率)

  • 可以用代码来管理维护您的CFS资源。允许保存CFS的状态,从而使您能够跟踪对CFS的配置所做的更改,并与其他人共享这些配置。
  • 您通过按需创建开发和部署环境来降低成本。并且,您可以在CFS配置更改之前进行评估。
  • 大大降低企业在基础设施构建过程中的成本,同时也可以提高云基础设施开发人员在 IAC(基础设施即代码) 方面的技能,简化云上资源运维

配置前您需要了解

CFS产品有如下配额限制:

限制项 限额
单用户可创建文件系统 20个
单个文件系统容量 100PB
单个文件系统文件数 10亿个
单个文件大小 1PB
目录深度 1000级
软链接路径长度 4080字节
文件名长度 255字节
同时连接的客户端数量 数百个

配置步骤

环境准备

Terraform:目前百度智能云已与Terraform集成,您可通过Terraform来创建、管理CFS、VPC、BCC等多种百度智能云资源,具体请参考Terraform BaiduCloud Provider

初始化Terraform

  1. 登录Terraform官网下载适用于您的操作系统的程序包。
  2. 配置terraform baidu provider信息,配置文件可参考如下的代码,在当前文件夹内保存为version.tf。
terraform {
  required_providers {
    baiducloud = {
      source = "baidubce/baiducloud"
      version = "1.18.0" #版本号 从1.18.0版本开始支持文件存储CFS
    }
  }
}
  1. 执行命令terraform init,Terraform会根据当前文件夹内的version.tf文件初始化工作空间。
  2. 编辑Terraform配置文件。新建文件main.tf,在文件中指定VPC、CFS、CFS挂载点等元信息。请参考后续步骤中的配置示例。

    更多CFS参数信息可参考baidu provider官方文档

CFS创建配置示例

resource "baiducloud_vpc" "vpc" {
  name = "terraform_vpc"
  cidr = "172.16.0.0/16"
}
resource "baiducloud_subnet" "subnet" {
  name        = "terraform_subnet-c"
  zone_name   = "cn-bj-c"
  cidr        = "172.16.128.0/24"
  vpc_id      = baiducloud_vpc.vpc.id
  description = "terraform test subnet"
}

resource "baiducloud_cfs" "default" {
  # CFS名称
  name = "terraform_test"
  # 可用区
  zone = "zoneD"
  # 协议类型 默认为nfs
  protocol = "nfs"
  # 存储类型 默认为cap
  type = "cap"
}

挂载点创建配置示例

resource "baiducloud_cfs_mount_target" "mount1" {
  fs_id = baiducloud_cfs.default.id
  subnet_id = baiducloud_subnet.subnet.id
  vpc_id = baiducloud_vpc.vpc.id
}

应用配置

  • 执行如下命令,可查看资源变更计划
$ terraform plan
  • 执行如下命令,可应用资源变更计划,完成资源的创建或更新,如图所示
$ terraform apply

image.png

CFS管理

更改CFS名称

如要对CFS进行名称的修改,只需要修改name字段的值,然后执行步骤7即可

查询CFS信息

data "baiducloud_cfss" "default" {
  # 可通过filter进行过滤 如下为过滤fs_id=fsxxxx的CFS
  filter{
    name = "fs_id"
    values = ["fsxxxx"]
  }
}

资源删除

  • 若需要删除挂载点,只需要删除baiducloud_cfs_mount_target这一资源即可,可通过如下命令
 # 通过-target指定资源进行删除
 terraform destroy -target baiducloud_cfs_mount_target.mount1

注意:再删除挂载点之前要先进行卸载操作

  • 若要删除CFS,只需删除baiducloud_cfs这一资源即可,可通过如下命令
 # 通过-target指定资源进行删除
 terraform destroy -target baiducloud_cfs.default
  • 可通过如下命令释放当前main.tf中的所有资源
 terraform destroy

测试验证

  1. 在百度智能云控制台的产品界面查看对应的资源是否都创建成功。
  2. 在完成了上述步骤的配置之后,可按照这篇文档中的步骤去使用CFS,查看是否能够正确工作。 文档链接

相关产品

文件存储CFS私有网络VPC

上一篇
使用rsync从旧文件系统同步到CFS文件系统
下一篇
性能测试方法