Nhà cung cấp địa hình

Nha Cung Cap Dia Hinh



Một trong những công cụ Cơ sở hạ tầng mã nguồn mở và phổ biến là Terraform. Nó cho phép các nhà phát triển xác định và quản lý cơ sở hạ tầng của bạn một cách khai báo. Nó cho phép họ tạo, quản lý và sửa đổi tài nguyên cơ sở hạ tầng bằng cú pháp đơn giản và nhất quán, bất kể nền tảng đám mây hoặc nhà cung cấp dịch vụ cơ bản.

Bài viết này thảo luận về cách sử dụng và định cấu hình các nhà cung cấp khác nhau để tương tác với các dịch vụ và nền tảng đám mây khác nhau.

Giới thiệu về Nhà cung cấp Terraform

Các nhà cung cấp Terraform là các plugin cho phép chúng tôi tương tác với các nền tảng và dịch vụ đám mây khác nhau bằng cách sử dụng Terraform. Các nhà cung cấp này chịu trách nhiệm dịch cấu hình Terraform thành các lệnh gọi API cần thiết để quản lý tài nguyên trên một nền tảng hoặc dịch vụ đám mây cụ thể.







Các loại nhà cung cấp trong Terraform

bên trong Sổ đăng ký địa hình , chúng ta có thể thấy ba loại nhà cung cấp:



Nhà cung cấp chính thức

Các nhà cung cấp chính thức được duy trì bởi công ty HashiCorp sở hữu Terraform. Các nhà cung cấp này là lựa chọn khả dụng tốt nhất nếu chúng tôi cần các nhà cung cấp được ghi chép đầy đủ và cập nhật.



Các nhà cung cấp AWS, Microsoft Azure và Google Cloud Platform có thể là ví dụ về các nhà cung cấp chính thức trong Terraform.





Nhà cung cấp đối tác

Các tổ chức bên thứ ba duy trì các nhà cung cấp này và đã hợp tác với HashiCorp để cung cấp hỗ trợ chính thức cho các dịch vụ của họ.

Các nhà cung cấp GitLab, MongoDB và CloudFlare là một số nhà cung cấp đối tác có sẵn cho người dùng.



Nhà cung cấp cộng đồng

Các nhà cung cấp cộng đồng thường được tạo bởi các cá nhân hoặc tổ chức của cộng đồng Terraform, những người muốn quản lý tài nguyên trên nền tảng đám mây hoặc dịch vụ không được nhà cung cấp chính thức hoặc đối tác hỗ trợ.

Một số ví dụ về các nhà cung cấp cộng đồng được hiển thị trong hình ảnh sau:

Cách sử dụng nhà cung cấp Terraform

Để sử dụng nhà cung cấp Terraform, chúng tôi cần đưa khối nhà cung cấp vào tệp cấu hình chỉ định nhà cung cấp mà chúng tôi muốn sử dụng và bất kỳ tham số cấu hình bắt buộc nào, chẳng hạn như thông tin đăng nhập hoặc khu vực.

Khi nhà cung cấp được định cấu hình, chúng tôi có thể sử dụng các tài nguyên và nguồn dữ liệu được cung cấp bởi nhà cung cấp trong cấu hình Terraform của chúng tôi để quản lý tài nguyên trên nền tảng hoặc dịch vụ đám mây.

Hãy tạo một tệp cấu hình Terraform đơn giản để tạo phiên bản EC2 trong nền tảng đám mây AWS.

các nhà cung cấp 'ồ' {

phiên bản = '~> 3.0'

khu vực = 'chúng tôi-đông-2'

}

nguồn 'aws_instance' 'myEC2' {

mà = 'ami-0a561b65214a47cac'

instance_type = 't3. nhỏ'

thẻ = {

Tên = 'trường hợp mới'

}

}

Đầu tiên, chúng tôi xác định khối nhà cung cấp, chỉ định nhà cung cấp AWS và khu vực nơi tài nguyên được tạo. Sau đó, chúng tôi xác định khối tài nguyên của mình bao gồm aws_instance làm loại tài nguyên, “myEC2” làm tên tài nguyên và “ami”, “instance_type” và “tags” làm thuộc tính. Loại tài nguyên có thể được chia thành hai phần: Nhà cung cấp và Tài nguyên. Trong trường hợp này, “aws” là nhà cung cấp và “ví dụ” là tài nguyên. Ngoài ra, nếu ai đó cần cung cấp mười phiên bản EC2, thuộc tính “count” có thể được sử dụng với giá trị là mười.

Bây giờ, chúng ta có thể thực hiện luồng Terraform bao gồm thực thi các lệnh terraform init, terraform plan và terraform apply để tạo tài nguyên mà chúng ta đã xác định.

Khi sử dụng nhà cung cấp Terraform AWS, chúng tôi có thể truy cập nền tảng đám mây AWS và tương tác với các dịch vụ của nó một cách hiệu quả mà không cần sử dụng Bảng điều khiển quản lý AWS.

Sử dụng nhiều nhà cung cấp trong Terraform

Thay vì sử dụng một nhà cung cấp duy nhất, Terraform cho phép chúng tôi sử dụng nhiều nhà cung cấp trong cùng một tệp cấu hình Terraform để tương tác với nhiều loại dịch vụ và nền tảng đám mây khác nhau.

Để bạn dễ hiểu, hãy lấy một ví dụ về nơi chúng tôi triển khai một công cụ điện toán trong Google Cloud Platform, một kho lưu trữ trong GitHub và một bộ chứa S3 trong nền tảng đám mây AWS.

các nhà cung cấp 'Google' {

dự án = 'dự án đầu tay'

khu vực = 'chúng tôi-tây1'

}

các nhà cung cấp 'github' {

mã thông báo = 'YOUR_GITHUB_TOKEN CỦA BẠN'

}

các nhà cung cấp 'ồ' {

phiên bản = '~> 3.0'

khu vực = 'chúng tôi-tây-2'

}

nguồn 'google_compute_instance' 'gcpInstance' {

tên = 'trường hợp mới'

máy_type = 'n1-chuẩn-1'

vùng = 'chúng tôi-tây1-a'

boot_disk {

khởi tạo_params {

hình ảnh = 'debian-đám mây/debian-10'

}

}

}

nguồn 'github_repository' 'gitrepo' {

tên = 'repo mới'

mô tả = 'Đây là kho lưu trữ mới của tôi'

}

nguồn 'aws_s3_bucket' 'awsBucket' {

xô = 'xô mới'

acl = 'riêng tư'

}

Ở bước đầu tiên, chúng tôi xác định khối nhà cung cấp của mình để chỉ định nhà cung cấp (Google, GitHub và AWS) và thông tin cần thiết như khu vực, tên dự án, v.v. Sau đó, chúng tôi khai báo tài nguyên của mình bằng ba khối tài nguyên: “gcpInstance”, “ gitRepo” và “awsBucket”.

Đầu tiên, chúng tôi tạo một công cụ điện toán trong Google Cloud Platform với tên “new-instance”, “n1-standard-1” làm loại máy và “us-west1-a” làm vùng khả dụng. Nó sử dụng Debian làm hệ điều hành máy chủ. Sau đó, chúng tôi tạo một kho lưu trữ GitHub có tên là “new-repo” và một mô tả phù hợp. Cuối cùng, một bộ chứa S3 được tạo với tên “bộ chứa mới” và “riêng tư” làm giá trị ACL (Danh sách điều khiển truy cập).

Với ba nhà cung cấp Terraform đó, chúng tôi có thể dễ dàng tương tác với các nền tảng đám mây và dịch vụ của họ.

Các phương pháp hay nhất để làm việc với các nhà cung cấp Terraform

Phiên bản nhà cung cấp

Chúng ta nên chỉ định phiên bản của nhà cung cấp vì nó giúp đảm bảo tính nhất quán và tránh hành vi không mong muốn do phá vỡ các thay đổi trong các phiên bản mới hơn.

Xác thực nhà cung cấp

Chúng tôi có thể sử dụng các cơ chế xác thực an toàn như khóa API và mã thông báo truy cập để xác thực và ủy quyền cho Terraform tương tác với nền tảng hoặc dịch vụ đám mây tương ứng.

Tài liệu Nhà cung cấp

Các nhà cung cấp thường có các tùy chọn cấu hình, tính năng và giới hạn cụ thể. Hiểu hướng dẫn này giúp chúng tôi sử dụng nhà cung cấp một cách hiệu quả và tránh những cạm bẫy phổ biến.

Cập nhật nhà cung cấp

Các nhà cung cấp có thể phát hành các bản sửa lỗi, cải tiến hiệu suất và các tính năng mới. Luôn cập nhật cho phép chúng tôi tận dụng các cải tiến mới nhất và duy trì khả năng tương thích với hệ sinh thái của nhà cung cấp.

Sự đóng góp cho cộng đồng

Chúng ta có thể sử dụng các diễn đàn trực tuyến, diễn đàn thảo luận và các kênh cộng đồng để giải quyết những thách thức hàng ngày gặp phải khi sử dụng các nhà cung cấp.

Xử lý lỗi và khắc phục sự cố

Bạn nên tự làm quen với các thông báo lỗi, nhật ký và kỹ thuật gỡ lỗi của nhà cung cấp để giúp chúng tôi chẩn đoán và giải quyết vấn đề hiệu quả hơn.

Phần kết luận

Chúng tôi đã giới thiệu ngắn gọn về các nhà cung cấp Terraform. Chúng tôi đã thảo luận về cách sử dụng và định cấu hình chúng để tương tác với nhiều nền tảng và dịch vụ đám mây khác nhau cũng như cách sử dụng nhiều nhà cung cấp để quản lý tài nguyên trên các nền tảng và dịch vụ đám mây khác nhau thông qua các ví dụ dễ hiểu.