Terraform là ứng dụng Infrastructure as Code (IaC) mạnh mẽ để triển khai và quản lý cơ sở hạ tầng. Nó có thể được sử dụng để thêm, sửa đổi và xóa tài nguyên bao gồm máy chủ, thành phần mạng và đối tượng lưu trữ. Linode đã hợp tác với Terraform để cung cấp API để cấu hình các mục cơ sở hạ tầng Linode phổ biến. Hướng dẫn này cung cấp phần giới thiệu ngắn gọn về Terraform và giải thích cách sử dụng nó để tạo các giải pháp Linode Object Storage .

Terraform là gì?

Terraform là một sản phẩm mã nguồn mở có sẵn trong các phiên bản miễn phí và thương mại. Các tệp cấu hình Terraform có dạng khai báo. Các tệp mô tả trạng thái cuối của hệ thống và giải thích những gì cần cấu hình, nhưng không giải thích cách cấu hình. Các tệp Terraform sử dụng định dạng Ngôn ngữ cấu hình HashiCorp (HCL) của Terraform hoặc Định dạng ký hiệu đối tượng JavaScript (JSON) để xác định cơ sở hạ tầng. Cả hai ngôn ngữ đều hoạt động tốt với Terraform vì chúng dễ sử dụng và dễ đọc. Terraform sử dụng phương pháp tiếp cận theo mô-đun và gia tăng để khuyến khích tái sử dụng và khả năng bảo trì. Nó khả dụng cho macOS, Windows và hầu hết các bản phân phối Linux.

Terraform sử dụng các nhà cung cấp để quản lý tài nguyên. Một nhà cung cấp, rất giống với API, thường được tạo ra kết hợp với nhà cung cấp cơ sở hạ tầng. Hệ thống dựa trên nhà cung cấp của Terraform cho phép người dùng tạo, sửa đổi và hủy cơ sở hạ tầng mạng từ các nhà cung cấp khác nhau. Các nhà phát triển có thể nhập các nhà cung cấp này vào các tệp cấu hình của họ để giúp khai báo và cấu hình các thành phần cơ sở hạ tầng của họ. Các nhà cung cấp có sẵn cho hầu hết các nhà cung cấp lớn, bao gồm cả Linode . Người dùng Terraform có thể duyệt qua danh sách đầy đủ các nhà cung cấp khác nhau trong Terraform Registry .

Linode cung cấp Hướng dẫn hữu ích cho người mới bắt đầu về Terraform như một phần giới thiệu về các khái niệm chính của Terraform. Ngoài ra, tài liệu Terraform bao gồm một số Hướng dẫn , bao gồm hướng dẫn cho các nhà cung cấp phổ biến hơn.

Cách sử dụng Terraform

Để sử dụng Terraform, hãy tạo một tệp xác định cấu hình dự định của tất cả các thành phần mạng. Tệp này bao gồm danh sách tất cả các nhà cung cấp và nguồn dữ liệu bắt buộc. Đối tượng nguồn dữ liệu cung cấp quyền truy cập vào nhiều phương pháp và thuộc tính khác nhau về một thành phần cơ sở hạ tầng cụ thể. Tệp này cũng mô tả đầy đủ các tài nguyên khác nhau, bao gồm máy chủ và đối tượng lưu trữ, mà Terraform nên tạo, quản lý hoặc xóa.

Các tệp Terraform được viết bằng HCL hoặc JSON dưới dạng tệp văn bản có .tfphần mở rộng. Có thể sử dụng các biến đầu vào, hàm và mô-đun để có tính linh hoạt, tính mô-đun và khả năng bảo trì cao hơn. Người dùng phát triển các tệp cấu hình của họ trên máy trạm của riêng họ và sử dụng máy khách Terraform để đẩy cấu hình ra mạng của họ. Máy khách dựa vào các chi tiết triển khai từ nhà cung cấp để thực hiện các thay đổi.

Trước khi áp dụng cấu hình, người dùng nên thực hiện terraform planlệnh. Lệnh này tạo ra bản tóm tắt về tất cả các thay đổi dự định. Tại thời điểm này, các thay đổi vẫn chưa được áp dụng. Điều này có nghĩa là tài liệu có thể được sửa đổi an toàn hoặc thậm chí bị hủy bỏ nếu cần.

Khi kế hoạch Terraform đã sẵn sàng để triển khai, terraform applylệnh được sử dụng để triển khai các thay đổi. Terraform theo dõi tất cả các thay đổi trong tệp trạng thái nội bộ. Điều này dẫn đến hiệu quả tăng lên vì chỉ những thay đổi đối với cấu hình hiện tại mới được thực thi. Có thể thêm các thay đổi và sửa đổi mới vào các tệp Terraform hiện có mà không xóa các tài nguyên đã tồn tại trước đó. Terraform cũng hiểu các phụ thuộc khác nhau giữa các tài nguyên và tạo cơ sở hạ tầng bằng cách sử dụng trình tự thích hợp.

Terraform có thể được sử dụng trong môi trường nhiều nhà phát triển kết hợp với hệ thống kiểm soát phiên bản. Các nhà phát triển cũng có thể xây dựng cơ sở hạ tầng nhà cung cấp của riêng họ để sử dụng thay cho hoặc cùng với các nhà cung cấp bên thứ ba. Terraform cung cấp thêm thông tin chi tiết về cách sản phẩm hoạt động và cách sử dụng trong phần tóm tắt Giới thiệu về Terraform của họ .

Ghi chú: Terraform rất mạnh mẽ, nhưng có thể là một công cụ khó sử dụng. Lỗi cú pháp có thể khó gỡ lỗi. Trước khi cố gắng tạo bất kỳ cơ sở hạ tầng nào, bạn nên đọc Giới thiệu về Ngôn ngữ cấu hình HashiCorp của Linode . Tài liệu về Nhà cung cấp Linode trong Terraform Registry cũng rất cần thiết. Tham khảo bộ sưu tập hướng dẫn Terraform phong phú của Linode để biết thêm ví dụ và giải thích.

Trước khi bạn bắt đầu

  1. Nếu bạn chưa thực hiện, hãy tạo một tài khoản Linode và Compute Instance. Xem hướng dẫn Bắt đầu với Linode và Tạo Compute Instance của chúng tôi .
  2. Làm theo hướng dẫn Thiết lập và Bảo mật Phiên bản Compute của chúng tôi để cập nhật hệ thống của bạn. Bạn cũng có thể muốn đặt múi giờ, cấu hình tên máy chủ, tạo tài khoản người dùng giới hạn và tăng cường quyền truy cập SSH.
  3. Đảm bảo tất cả máy chủ Linode được cập nhật. Các lệnh sau có thể được sử dụng để cập nhật hệ thống Ubuntu.
sudo apt update && sudo apt upgrade

Cách tải xuống và cài đặt Terraform

Những hướng dẫn này hướng đến người dùng Ubuntu 22.04, nhưng thường áp dụng cho các bản phát hành Ubuntu trước đó. Hướng dẫn cho các bản phân phối Linux khác và macOS có sẵn trên Cổng thông tin tải xuống Terraform . Ví dụ sau đây minh họa cách tải xuống và cài đặt bản phát hành Terraform mới nhất.

1.Cài đặt các phần phụ thuộc của hệ thống cho Terraform.

sudo apt install software-properties-common gnupg2 curl

2.Nhập khóa GPG.

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

3.Thêm kho lưu trữ Hashicorp vào apt.

sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

4.Tải xuống bản cập nhật cho Terraform và cài đặt ứng dụng. Thao tác này sẽ cài đặt Terraform bản phát hành 1.3.4, bản phát hành mới nhất.

sudo apt update && sudo apt install terraform
Get:1 https://apt.releases.hashicorp.com jammy/main amd64 terraform amd64 1.3.4 [19.5 MB]
Fetched 19.5 MB in 0s (210 MB/s)
Selecting previously unselected package terraform.
(Reading database ... 109186 files and directories currently installed.)
Preparing to unpack .../terraform_1.3.4_amd64.deb ...
Unpacking terraform (1.3.4) ...
Setting up terraform (1.3.4) ...

5.Xác nhận ứng dụng đã được cài đặt đúng cách. Sử dụng terraformlệnh mà không có bất kỳ tham số nào và đảm bảo thông tin trợ giúp Terraform được hiển thị.

terraform
Usage: terraform [global options] <subcommand> [args]

The available commands for execution are listed below.
The primary workflow commands are given first, followed by
less common or more advanced commands.

Main commands:
init          Prepare your working directory for other commands
...
-version      An alias for the "version" subcommand.

6.Để xác định phiên bản hiện tại của Terraform, hãy sử dụng terraform -vlệnh.

terraform -v
Terraform v1.3.4
on linux_amd64

7.Tạo một thư mục cho dự án Terraform mới và chuyển tới thư mục này.

mkdir ~/terraform
cd ~/terraform

Tạo tệp Terraform để tạo bộ lưu trữ đối tượng Linode

Để triển khai cơ sở hạ tầng cần thiết cho giải pháp Linode Object Storage, hãy tạo tệp Terraform xác định trạng thái cuối cùng của hệ thống. Tệp này phải bao gồm các phần sau:

  • Định terraformnghĩa bao gồm các nhà cung cấp bắt buộc. Trong trường hợp này, chỉ có nhà cung cấp Linode được bao gồm.
  • Nhà cung cấp Linode.
  • Nguồn linode_object_storage_clusterdữ liệu.
  • Ít nhất một linode_object_storage_buckettài nguyên. Thùng lưu trữ cung cấp không gian để lưu trữ tệp và đối tượng văn bản.
  • Tùy chọn ) A linode_object_storage_key.
  • Danh sách linode_object_storage_objectcác mục. Đối tượng lưu trữ đối tượng có thể là tệp văn bản hoặc chuỗi văn bản. Tất cả các đối tượng lưu trữ được lưu trữ trong một thùng lưu trữ đối tượng cụ thể.

Để xây dựng tệp Terraform, hãy thực hiện các hướng dẫn sau. Để biết thêm thông tin về cách tạo tệp Terraform, hãy xem tài liệu Terraform .

1.Tạo tập tin linode-terraform-storage.tfbên trong terraformthư mục.

nano linode-terraform-storage.tf

2.Ở đầu tệp, thêm một terraformphần, bao gồm tất cả required_providerscho cơ sở hạ tầng. Trong trường hợp này, nhà cung cấp duy nhất được yêu cầu là linode. Đặt nguồn thành linode/linode. Sử dụng nhà cung cấp hiện tại versionlinodeTại thời điểm xuất bản, phiên bản là 1.29.4. Để xác định phiên bản hiện tại, hãy xem Không gian tên Linode trong Terraform Registry.

terraform {
  required_providers {
    linode = {
      source = "linode/linode"
      version = "1.29.4"
    }
  }
}

3.Xác định linodenhà cung cấp. Bao gồm API Linode v4 token cho tài khoản. Xem hướng dẫn Bắt đầu với API Linode để biết thêm thông tin về mã thông báo.

Ghi chú: Để ẩn thông tin nhạy cảm, chẳng hạn như mã thông báo API, hãy khai báo một variables.tftệp và lưu trữ thông tin ở đó. Truy xuất các biến bằng vartừ khóa. Xem phần giới thiệu về HCL của Linode để biết hướng dẫn về cách sử dụng các biến.

provider "linode" {
  token = "THE_LINODE_API_TOKEN"
}

4.Tạo linode_object_storage_clusternguồn dữ liệu. Trong mẫu mã sau, đối tượng cụm mới được đặt tên là primary. Chỉ định vùng cho cụm bằng idthuộc tính. Trong ví dụ sau, vùng là eu-central-1. Đối tượng cụm cung cấp quyền truy cập vào miền, trạng thái và vùng của cụm. Xem tài liệu đăng ký Terraform cho nguồn dữ liệu Linode Object Storage Cluster để biết thêm thông tin.

Ghi chú: Không phải tất cả các vùng đều hỗ trợ cụm lưu trữ. Để biết danh sách đầy đủ tất cả các trung tâm dữ liệu có thể cấu hình cụm lưu trữ, hãy xem Thông tin sản phẩm Linode Object Storage .

data "linode_object_storage_cluster" "primary" {
    id = "eu-central-1"
}

5.Tùy chọn: Tạo a linode_object_storage_keyđể kiểm soát quyền truy cập vào các đối tượng lưu trữ. Cung cấp tên cho khóa và a labelđể giúp xác định khóa.

resource "linode_object_storage_key" "storagekey" {
    label = "image-access"
}

6.Tạo một linode_object_storage_buckettài nguyên. clusterThuộc tính cho thùng phải chứa đối idtượng nguồn dữ liệu cụm. Trong ví dụ này, có thể truy xuất định danh cụm bằng data.linode_object_storage_cluster.primary.idthuộc tính. Gán duy nhất labelcho thùng lưu trữ. Nhãn này phải là duy nhất trong vùng, do đó hãy đảm bảo tên nhãn đủ khác biệt và duy nhất. Ví dụ sau đặt labelthành mybucket-j1145.

Đặt các thuộc tính access_keyvà secret_keyvào các trường access_keyvà secret_keycủa khóa lưu trữ. Trong ví dụ sau, tên của khóa là linode_object_storage_key.storagekey. Nếu bạn bỏ qua bước trước và không sử dụng khóa lưu trữ đối tượng, đừng bao gồm các thuộc tính này.

Ghi chú: Tài nguyên Linode Object Storage Bucket chứa nhiều thuộc tính có thể cấu hình khác. Có thể thiết lập các quy tắc vòng đời, quản lý phiên bản và quy tắc kiểm soát truy cập, và liên kết storage bucket với chứng chỉ TLS/SSL. Để biết thêm thông tin, hãy xem tài liệu Linode Object Storage Bucket trong sổ đăng ký Terraform.

resource "linode_object_storage_bucket" "mybucket-j1145" {
  cluster = data.linode_object_storage_cluster.primary.id
  label = "mybucket-j1145"
  access_key = linode_object_storage_key.storagekey.access_key
  secret_key = linode_object_storage_key.storagekey.secret_key
}

7.Thêm các mục vào thùng lưu trữ. Để thêm tệp hoặc khối văn bản vào thùng, hãy tạo một linode_object_storage_objecttài nguyên. Chỉ định a clustervà bucketđể lưu trữ đối tượng trong và a keyđể xác định duy nhất đối tượng lưu trữ trong cụm. Để sử dụng khóa lưu trữ, hãy bao gồm secret_keyvà access_keycủa khóa lưu trữ.

Để thêm tệp văn bản vào bộ lưu trữ, hãy chỉ định đường dẫn tệp làm sourcethuộc tính bằng cách sử dụng ví dụ sau làm hướng dẫn. Ví dụ này thêm tệp terraform_test.txtvào thùng mybucket-j1145trong cụm primary. Để biết thêm thông tin về cách thêm đối tượng lưu trữ, hãy xem tài liệu tài nguyên Đối tượng lưu trữ Linode .

resource "linode_object_storage_object" "object1" {
    bucket  = linode_object_storage_bucket.mybucket-j1145.label
    cluster = data.linode_object_storage_cluster.primary.id
    key     = "textfile-object"

    secret_key = linode_object_storage_key.storagekey.secret_key
    access_key = linode_object_storage_key.storagekey.access_key

    source = pathexpand("~/terraform_test.txt")
}

8.Tùy chọn: Thùng lưu trữ cũng có thể chứa các chuỗi văn bản. Để lưu trữ một chuỗi, hãy khai báo một linode_object_storage_object, mới bao gồm bucketcluster, và thông tin khóa lưu trữ như trước. Chọn một khóa duy nhất mới cho đối tượng văn bản. contentThuộc tính phải được đặt thành chuỗi văn bản. Điền vào content_typevà content_languageđể phản ánh bản chất của văn bản.

resource "linode_object_storage_object" "object2" {
    bucket  = linode_object_storage_bucket.mybucket-j1145.label
    cluster = data.linode_object_storage_cluster.primary.id
    key     = "freetext-object"

    secret_key = linode_object_storage_key.storagekey.secret_key
    access_key = linode_object_storage_key.storagekey.access_key

    content          = "This is the content of the Object..."
    content_type     = "text/plain"
    content_language = "en"
}

9.Khi tất cả các phần đã được thêm vào, .tftệp sẽ giống như ví dụ sau.

terraform {
  required_providers {
    linode = {
      source = "linode/linode"
      version = "1.29.4"
    }
  }
}

provider "linode" {
  token = "THE_LINODE_API_TOKEN"
}

data "linode_object_storage_cluster" "primary" {
    id = "eu-central-1"
}

resource "linode_object_storage_key" "storagekey" {
    label = "image-access"
}

resource "linode_object_storage_bucket" "mybucket-j1145" {
  cluster = data.linode_object_storage_cluster.primary.id
  label = "mybucket-j1145"
  access_key = linode_object_storage_key.storagekey.access_key
  secret_key = linode_object_storage_key.storagekey.secret_key
}

resource "linode_object_storage_object" "object1" {
    bucket  = linode_object_storage_bucket.mybucket-j1145.label
    cluster = data.linode_object_storage_cluster.primary.id
    key     = "textfile-object"

    secret_key = linode_object_storage_key.storagekey.secret_key
    access_key = linode_object_storage_key.storagekey.access_key

    source = pathexpand("~/terraform_test.txt")
}

resource "linode_object_storage_object" "object2" {
    bucket  = linode_object_storage_bucket.mybucket-j1145.label
    cluster = data.linode_object_storage_cluster.primary.id
    key     = "freetext-object"

    secret_key = linode_object_storage_key.storagekey.secret_key
    access_key = linode_object_storage_key.storagekey.access_key

    content          = "This is the content of the Object..."
    content_type     = "text/plain"
    content_language = "en"
}

10.Khi hoàn tất, nhấn + Xđể thoát nano, Yđể lưu và Enterđể xác nhận.

Sử dụng Terraform để cấu hình Linode Object Storage

Các lệnh Terraform tác động lên linode-terraform-storage.tftệp để phân tích nội dung và triển khai cơ sở hạ tầng chính xác. Để tạo các mục cơ sở hạ tầng lưu trữ đối tượng Linode trong tệp, hãy chạy các lệnh sau.

1.Khởi tạo Terraform bằng terraform initlệnh. Terraform xác nhận đã được khởi tạo.

terraform init
Initializing the backend...

Initializing provider plugins...
- Finding linode/linode versions matching "1.29.4"...
- Installing linode/linode v1.29.4...
- Installed linode/linode v1.29.4 (signed by a HashiCorp partner, key ID F4E6BBD0EA4FE463)
...
Terraform has been successfully initialized!
...

2.Chạy terraform planlệnh để có được cái nhìn tổng quan về những thay đổi cơ sở hạ tầng dự kiến. Kế hoạch này lập danh mục các thành phần Terraform dự định thêm, sửa đổi hoặc xóa. Điều quan trọng là phải xem xét đầu ra cẩn thận để đảm bảo kế hoạch chính xác và không có thay đổi bất ngờ nào. Nếu kết quả không thỏa đáng, hãy thay đổi tệp .tfvà thử lại.

terraform plan
data.linode_object_storage_cluster.primary: Reading...
data.linode_object_storage_cluster.primary: Read complete after 0s [id=eu-central-1]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated
with the following symbols:
  + create

Terraform will perform the following actions:

  # linode_object_storage_bucket.mybucket-j1145 will be created
  + resource "linode_object_storage_bucket" "mybucket-j1145" {
      + access_key   = (known after apply)
      + acl          = "private"
      + cluster      = "eu-central-1"
      + cors_enabled = true
      + hostname     = (known after apply)
      + id           = (known after apply)
      + label        = "mybucket-j1145"
      + secret_key   = (sensitive)
      + versioning   = (known after apply)
    }

  # linode_object_storage_key.storagekey will be created
  + resource "linode_object_storage_key" "storagekey" {
      + access_key = (known after apply)
      + id         = (known after apply)
      + label      = "image-access"
      + limited    = (known after apply)
      + secret_key = (sensitive value)
    }

  # linode_object_storage_object.object1 will be created
  + resource "linode_object_storage_object" "object1" {
      + access_key    = (known after apply)
      + acl           = "private"
      + bucket        = "mybucket-j1145"
      + cluster       = "eu-central-1"
      + content_type  = (known after apply)
      + etag          = (known after apply)
      + force_destroy = false
      + id            = (known after apply)
      + key           = "textfile-object"
      + secret_key    = (sensitive)
      + source        = "/home/username/terraform_test.txt"
      + version_id    = (known after apply)
    }

  # linode_object_storage_object.object2 will be created
  + resource "linode_object_storage_object" "object2" {
      + access_key       = (known after apply)
      + acl              = "private"
      + bucket           = "mybucket-j1145"
      + cluster          = "eu-central-1"
      + content          = "This is the content of the Object..."
      + content_language = "en"
      + content_type     = "text/plain"
      + etag             = (known after apply)
      + force_destroy    = false
      + id               = (known after apply)
      + key              = "freetext-object"
      + secret_key       = (sensitive)
      + version_id       = (known after apply)
    }

Plan: 4 to add, 0 to change, 0 to destroy.

3.Khi tất cả các thay đổi tiếp theo đối với .tftệp đã được thực hiện, hãy sử dụng terraform applyđể triển khai các thay đổi. Nếu có bất kỳ lỗi nào xuất hiện, hãy chỉnh sửa .tftệp và chạy terraform planlại terraform apply. Terraform hiển thị danh sách các thay đổi dự định và hỏi xem có nên tiếp tục hay không.

terraform apply
Plan: 4 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value:

4.Nhập yesđể tiếp tục. Terraform hiển thị tóm tắt tất cả các thay đổi và xác nhận thao tác đã hoàn tất. Nếu có bất kỳ lỗi nào xuất hiện, hãy chỉnh sửa tệp .tfvà chạy lại lệnh.

yes
linode_object_storage_key.storagekey: Creating...
linode_object_storage_key.storagekey: Creation complete after 3s [id=367232]
linode_object_storage_bucket.mybucket-j145: Creating...
linode_object_storage_bucket.mybucket-j1145: Creation complete after 6s [id=eu-central-1:mybucket-j1145]
linode_object_storage_object.object1: Creating...
linode_object_storage_object.object2: Creating...
linode_object_storage_object.object1: Creation complete after 0s [id=mybucket-j1145/textfile-object]
linode_object_storage_object.object2: Creation complete after 0s [id=mybucket-j1145/freetext-object]

Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

5.Xem trang tóm tắt Lưu trữ đối tượng của Linode Dashboard để đảm bảo tất cả các đối tượng đã được tạo và cấu hình đúng. Chọn tên của Object Storage Bucket để xem danh sách tất cả các đối tượng lưu trữ đối tượng bên trong bucket. Trang này cũng cho phép bạn tải xuống bất kỳ tệp và đối tượng văn bản nào trong bucket.

Xóa và chỉnh sửa các đối tượng lưu trữ Linode

Để xóa cấu hình đối tượng lưu trữ, hãy sử dụng terraform destroylệnh. Lệnh này khiến Terraform xóa mọi đối tượng được liệt kê trong các tệp Terraform trong thư mục. Ví dụ, chạy terraform destroytệp linode-terraform-storage.tfsẽ xóa tất cả các cụm lưu trữ, thùng, khóa và đối tượng lưu trữ. Để chỉ xóa một tập hợp con của cấu hình, hãy chỉnh sửa tệp để tệp chỉ bao gồm các đối tượng cần xóa. Bất kỳ đối tượng nào mà Terraform cần giữ lại phải được xóa khỏi tệp. terraform plan -destroyTrước tiên, hãy chạy lệnh để có được bản tóm tắt về các đối tượng mà Terraform dự định xóa.

terraform plan -destroy
terraform destroy

Để sửa đổi nội dung của đối tượng lưu trữ đối tượng, hãy chỉnh sửa .tftệp chứa cấu hình để nó phản ánh cấu hình mới. Chạy terraform planđể xem lại các thay đổi, sau đó chạy terraform apply. Terraform tự động thực hiện các thay đổi cần thiết. Sử dụng lệnh này một cách thận trọng vì nó có thể khiến đối tượng bị xóa và tạo lại thay vì được sửa đổi.

terraform plan
terraform apply

Cấu hình Terraform để lưu trữ trạng thái trên Linode Object Storage

Terraform sử dụng trạng thái trên backend để ghi nhật ký và theo dõi thông tin tài nguyên. Theo mặc định, trạng thái được lưu trữ cục bộ trong tệp có tên terraform.tfstate.

Để biết các bước về cách sử dụng Linode Object Storage làm hệ thống lưu trữ từ xa để lưu trữ trạng thái, hãy xem hướng dẫn Sử dụng Terraform để cung cấp cơ sở hạ tầng trên Linode của chúng tôi .

Phần kết luận

Terraform là ứng dụng Infrastructure as Code (IaC) mạnh mẽ và hiệu quả. Nó tự động hóa quy trình triển khai cơ sở hạ tầng. Để sử dụng Terraform, hãy sử dụng định dạng HCL hoặc JSON để mô tả trạng thái cuối cùng của mạng. Sử dụng lệnh terraform plantừ máy khách Terraform để xem trước các thay đổi và terraform applytriển khai cấu hình.

Nhà cung cấp Linode bao gồm một API để cấu hình cơ sở hạ tầng Linode Object Storage . Trước tiên, hãy khai báo nhà cung cấp Linode và nguồn dữ liệu Linode Object Storage Cluster . Xác định cơ sở hạ tầng lưu trữ đối tượng bằng cách sử dụng Linode object storage buckets , object storage keys và object storage objects . Object storage objects là các tệp hoặc chuỗi văn bản cần lưu trữ. Để biết thêm thông tin về cách sử dụng Terraform, hãy tham khảo tài liệu Terraform .

Thông tin thêm

Bạn có thể muốn tham khảo các nguồn sau để biết thêm thông tin về chủ đề này. Mặc dù chúng tôi cung cấp với hy vọng rằng chúng sẽ hữu ích, nhưng xin lưu ý rằng chúng tôi không thể đảm bảo tính chính xác hoặc tính kịp thời của các tài liệu được lưu trữ bên ngoài.

Nguồn: https://www.linode.com/docs/guides/how-to-use-terraform-with-linode-object-storage/