Hướng dẫn hashicorp python - trăn hashicorp

Các nhà phát triển đã quen với việc sử dụng công cụ của riêng họ và viết bằng các ngôn ngữ quen thuộc. Trong nhiều năm, Ngôn ngữ cấu hình Hashicorp [HCL] là một trong những ngôn ngữ phát triển nhanh nhất tại GitHub, và chúng tôi thường nghe thấy mong muốn cung cấp cơ sở hạ tầng với các ngôn ngữ lập trình quen thuộc. Ngày nay, chúng tôi vui mừng thông báo bản xem trước cộng đồng của Bộ phát triển đám mây cho Hashicorp Terraform cho phép người dùng xác định cơ sở hạ tầng bằng cách sử dụng TypeScript và Python trong khi tận dụng hàng trăm nhà cung cấp và hàng ngàn định nghĩa mô -đun được cung cấp bởi Terraform và Terraform Ecosystem.

Nội dung chính ShowShow

  • »Terraform như một nền tảng
  • "Bắt đầu
  • »Khởi tạo một dự án mới
  • »Tổng hợp TypeScript với Cấu hình Terraform
  • »Hợp tác cộng đồng
  • "Cái gì tiếp theo
  • Bạn có thể xây dựng môi trường container Terraform với Python không?
  • Làm thế nào để tạo cấu hình Terraform bằng cách sử dụng cho các vòng lặp?
  • Những ngôn ngữ lập trình nào được hỗ trợ bởi Terraform?
  • Terraform là gì và tôi sử dụng nó như thế nào?
  • Ngôn ngữ nào được sử dụng trong Terraform?
  • Làm cách nào để chạy kịch bản Python trong Terraform?
  • Terraform ở Python là gì?
  • Terraform có yêu cầu mã hóa không?
  • Là ngôn ngữ kịch bản Terraform?

Chúng tôi đã hợp tác với nhóm AWS và nhóm phát triển đám mây [CDK] của họ để hỗ trợ dự án mới này tận dụng hai thành phần chính của AWS CDK: một bộ các khung bản địa ngôn ngữ để xác định cơ sở hạ tầng và bộ điều hợp cho một công cụ cung cấp cơ bản. Sử dụng các thư viện này, AWS CDK tạo cấu hình CloudFormation. Tương tự, CDK cho Terraform tạo ra cấu hình Terraform để cho phép cung cấp với Terraform. Bộ điều hợp hoạt động với bất kỳ nhà cung cấp và mô -đun hiện có nào được lưu trữ trong Cơ quan đăng ký Terraform. Quy trình công việc cốt lõi của Terraform vẫn giữ nguyên, với khả năng lập kế hoạch thay đổi trước khi áp dụng.

Bạn có thể sử dụng dự án này ngay hôm nay với bản phát hành ban đầu của chúng tôi. Chúng tôi đã tạo các ví dụ từng bước với hướng dẫn bắt đầu nhanh của Docker, AWS và các ví dụ khác trong Python và TypeScript.

»Terraform như một nền tảng

"Bắt đầu

»Khởi tạo một dự án mới

»Tổng hợp TypeScript với Cấu hình Terraform

»Hợp tác cộng đồng

Với Dự án CDK cho Terraform, bạn có thể xác định tài nguyên cơ sở hạ tầng bằng cách sử dụng các ngôn ngữ lập trình được hỗ trợ. Công cụ tạo ra cấu hình Terraform trong JSON có thể được áp dụng với

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
3 hoặc sử dụng CDK cho Terraform CLI với
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
4. Nó hỗ trợ các ngôn ngữ polyglot bằng cách sử dụng các thư viện nền tảng mà AWS CDK dựa vào để tạo và tổng hợp cấu hình cơ sở hạ tầng.

Dự án CDK cho Terraform bao gồm hai gói:

  • CLI CDKTF -CLI - Một CLI cho phép người dùng chạy các lệnh để khởi tạo, nhập và tổng hợp CDK cho các ứng dụng Terraform.
  • Cấm CDKTF - một thư viện để xác định tài nguyên Terraform bằng cách sử dụng các cấu trúc lập trình.

"Bắt đầu

Bản xem trước cộng đồng cho CDK cho Terraform bao gồm các tính năng cho phép người dùng quen thuộc với Terraform để viết các cấu trúc lập trình và tạo cấu hình Terraform trong các tệp JSON. Sử dụng CDK cho Terraform CLI để khởi tạo một dự án trong TypeScript hoặc Python.

Ví dụ để bắt đầu sử dụng TypeScript. Bắt đầu bằng cách cài đặt Node.js, sợi.

Tiếp theo, cài đặt CDK cho Terraform trên toàn cầu.

$ npm install -g cdktf-cli

»Khởi tạo một dự án mới

Tạo một thư mục để lưu trữ các tệp TypeScript để tạo AWS VPC. Khởi tạo một tập hợp các mẫu TypeScript bằng cách sử dụng

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
5.
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript

Nhập chi tiết liên quan đến dự án bao gồm Terraform Cloud để lưu trữ trạng thái dự án. Bạn có thể sử dụng tùy chọn

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
6 để tiếp tục mà không cần sử dụng Terraform Cloud để quản lý nhà nước.
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']

Một số bước xảy ra khi chạy

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
5. Lệnh:
  • Tải xuống một dự án mẫu với mẫu được chỉ định, được xác định trong
    $ mkdir vpc-example
    $ cd vpc-example
    $ cdktf init --template=typescript
    
    8.
  • Định cấu hình Tổ chức đám mây Terraform và không gian làm việc nếu được chỉ định.
  • Chạy
    $ mkdir vpc-example
    $ cd vpc-example
    $ cdktf init --template=typescript
    
    9 để tải xuống các nhà cung cấp và mô -đun Terraform thích hợp. Trong ví dụ này, nó tải xuống nhà cung cấp AWS được chỉ định trong
    We will now setup the project. Please enter the details for your project.
    If you want to exit, press ^C.
    
    Project Name: [default: 'vpc-example']
    Project Description: [default: 'A simple getting started project for cdktf.']
    
    0.
  • Tạo các đối tượng dành riêng cho ngôn ngữ cho các tài nguyên và mô-đun trong thư mục
    We will now setup the project. Please enter the details for your project.
    If you want to exit, press ^C.
    
    Project Name: [default: 'vpc-example']
    Project Description: [default: 'A simple getting started project for cdktf.']
    
    1 dựa trên các lược đồ của nhà cung cấp và mô-đun.

Sau khi chạy

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
5, thư mục ví dụ chứa tài nguyên AWS của TypeScript để sử dụng.
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
3

Trong

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
8, nhập đối tượng
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
4 từ
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
5. CDK cho Terraform tạo ra định nghĩa
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
4 trong
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
7. Tiếp theo, xác định VPC và khối CIDR của nó. Chúng tôi sử dụng Visual Studio Code tự động hoàn thành để điền vào định nghĩa tài nguyên.

Để tạo một mạng con dựa trên định danh VPC, hãy chuyển

We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
8 đến một đối tượng mạng con.
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
8 cho thấy việc tạo ra VPC và mạng con dựa trên định danh của nó. Ví dụ sử dụng mã thông báo để chọn ID VPC làm loại chuỗi và cho phép CDK cho Terraform giải quyết giá trị của ID VPC sau đó trong tổng hợp.
$ npm install -g cdktf-cli
1

»Tổng hợp TypeScript với Cấu hình Terraform

Tiếp theo, tổng hợp TypeScript với cấu hình Terraform bằng cách chạy

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
30. Lệnh tạo các tệp cấu hình Terraform JSON trong thư mục
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
31.
$ npm install -g cdktf-cli
4

Kiểm tra tệp Terraform JSON được tạo bằng cách kiểm tra

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
32. Nó bao gồm cấu hình Terraform cho VPC và nội suy ID VPC vào tài nguyên mạng con.
$ npm install -g cdktf-cli
6

Người dùng cũng có thể in cấu hình Terraform JSON trong thiết bị đầu cuối của họ bằng lệnh

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
33.

Sau khi tổng hợp, người dùng có thể sử dụng quy trình khởi tạo, lập kế hoạch và áp dụng các thay đổi trong thư mục làm việc

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
31 hoặc sử dụng CDK cho Terraform CLI để chạy
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
4.

Quy trình làm việc của Terraform như sau:

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
0

CDK cho Terraform CLI như sau:

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
1

Để phá hủy, từ thư mục gốc chạy

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
36.
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
3

Ví dụ cho thấy sự tổng hợp của hai tài nguyên AWS. Để bao gồm các tài nguyên từ các nhà cung cấp khác, chẳng hạn như nhà cung cấp đầu bếp, thêm nhà cung cấp và phiên bản của nó vào

We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
0.
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
0

Để tạo các đối tượng TypeScript cho nhà cung cấp Chef, hãy chạy

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
38.
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
1

Trong

$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
8, nhập đối tượng
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
4 từ
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
5. CDK cho Terraform tạo ra định nghĩa
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
4 trong
We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
7. Tiếp theo, xác định VPC và khối CIDR của nó. Chúng tôi sử dụng Visual Studio Code tự động hoàn thành để điền vào định nghĩa tài nguyên.

Để tạo một mạng con dựa trên định danh VPC, hãy chuyển

We will now setup the project. Please enter the details for your project.
If you want to exit, press ^C.

Project Name: [default: 'vpc-example']
Project Description: [default: 'A simple getting started project for cdktf.']
8 đến một đối tượng mạng con.
$ mkdir vpc-example
$ cd vpc-example
$ cdktf init --template=typescript
8 cho thấy việc tạo ra VPC và mạng con dựa trên định danh của nó. Ví dụ sử dụng mã thông báo để chọn ID VPC làm loại chuỗi và cho phép CDK cho Terraform giải quyết giá trị của ID VPC sau đó trong tổng hợp.
$ npm install -g cdktf-cli
1

»Tổng hợp TypeScript với Cấu hình Terraform

Ngoài ra, chúng tôi muốn nhận ra nhóm CDK AWS vì đã giúp chúng tôi khởi động dự án và cung cấp các đề xuất về các mẫu và thực tiễn cho các cấu trúc CDK và thư viện JSII.

"Cái gì tiếp theo

CDK cho Terraform là trong alpha và đang trong giai đoạn đầu phát triển. Dự án này là một cách khác để giao tiếp với Terraform bằng cách sử dụng các ngôn ngữ như TypeScript và Python. Chúng tôi đang làm việc để hỗ trợ các ngôn ngữ bổ sung như JavaScript, Java và C#. Ngoài hỗ trợ ngôn ngữ, chúng tôi có kế hoạch mở rộng phạm vi của CDK cho dự án Terraform để hỗ trợ các lệnh hạng nhất khác để cung cấp trải nghiệm người dùng tương tự như AWS CDK.

Tìm hiểu thêm về CDK cho Terraform tại Hashicorp/Terraform-CDK. Để biết thêm thông tin về AWS CDK và các khung của nó, hãy xem trang FAQ của nó. Các dự án hệ sinh thái bổ sung cho CDK bao gồm CDK cho Kubernetes.

Hãy tự mình thử nó với các ví dụ từng bước của chúng tôi bằng cách sử dụng hướng dẫn bắt đầu nhanh của Docker, AWS và các ví dụ khác trong Python và TypeScript.

Vì CDK cho Terraform là một dự án thử nghiệm, chúng tôi muốn yêu cầu cộng đồng phản hồi. Nếu bạn muốn xem một tính năng cho CDK cho Terraform, vui lòng xem lại các vấn đề và upvote hiện tại. Nếu một tính năng không tồn tại trong vấn đề GitHub, hãy thoải mái mở một vấn đề mới. Ngoài các vấn đề mở, bạn có thể đóng góp cho dự án bằng cách mở yêu cầu kéo. Ngoài ra, sử dụng biểu mẫu Hashicorp Thảo luận để đặt câu hỏi và chia sẻ phản hồi của bạn.

Bạn có thể xây dựng môi trường container Terraform với Python không?

Đây là câu chuyện về cách bạn có thể tự động hóa một phần của cuộc phiêu lưu Terraform với Python 3.9.4; Lần này chúng tôi sẽ xem xét sử dụng JSON để xây dựng môi trường container Terraform cho AWS ECS. Điều gì xảy ra khi bạn tìm thấy giao điểm của AWS + ECS + Terraform + JSON? Bạn sẽ tìm thấy mã cho bài viết này nhưng hãy tiếp tục đọc.

Làm thế nào để tạo cấu hình Terraform bằng cách sử dụng cho các vòng lặp?

Nó không yêu cầu cấu hình và không có thay đổi cho dự án của bạn. Thả vào tệp .tf.py bên cạnh các tệp .tf hiện tại của bạn và chạy gói Pretf thay vì gói Terraform. Bây giờ bạn có thể tạo cấu hình Terraform bằng cách sử dụng các vòng lặp, tên tài nguyên động, bất cứ điều gì bạn muốn. [Chức năng AWS nằm trong một gói riêng biệt.

Những ngôn ngữ lập trình nào được hỗ trợ bởi Terraform?

Cuối cùng, với hỗ trợ CDK, các ngôn ngữ lập trình như Python và TypeScript có thể được sử dụng ngày hôm nay. Hỗ trợ ngôn ngữ bổ sung cho JavaScript, Java và C# có thể được sử dụng trong tương lai. Điều này cho phép Terraform hoạt động như một nền tảng chung để cung cấp cơ sở hạ tầng và quản lý vòng đời.

Terraform là gì và tôi sử dụng nó như thế nào?

Terraform là một công cụ để xây dựng, thay đổi và cơ sở hạ tầng phiên bản an toàn và hiệu quả. Terraform có thể quản lý các nhà cung cấp dịch vụ hiện tại và phổ biến cũng như các giải pháp nội bộ tùy chỉnh. Làm cách nào để cài đặt và định cấu hình nó? Chúng ta cần tạo một tệp nhà cung cấp dịch vụ của nhà cung cấp.

Ngôn ngữ nào được sử dụng trong Terraform?

Người dùng Terraform xác định và thực thi các cấu hình cơ sở hạ tầng bằng cách sử dụng ngôn ngữ cấu hình giống JSON có tên HCL [ngôn ngữ cấu hình Hashicorp]. Cú pháp đơn giản của HCL giúp các nhóm DevOps dễ dàng cung cấp và cung cấp lại cơ sở hạ tầng trên nhiều trung tâm dữ liệu trên đám mây và tại chỗ.HCL [HashiCorp Configuration Language]. HCL's simple syntax makes it easy for DevOps teams to provision and re-provision infrastructure across multiple cloud and on-premises data centers.HCL [HashiCorp Configuration Language]. HCL's simple syntax makes it easy for DevOps teams to provision and re-provision infrastructure across multiple cloud and on-premises data centers.

Làm cách nào để chạy kịch bản Python trong Terraform?

Bước 1 - Main.tf của bạn cần một định nghĩa tài nguyên như hiển thị bên dưới: [Giả sử bạn đã tạo một thư mục Script có chứa Hello.sh. ....

Bước 2 - Gọi mô -đun từ mô -đun Terraform của bạn "ExecFile" {Source = "../modules/scripts"}.

Bước 3 - Chạy Terraform [sau khi chỉnh sửa cấu hình như được hiển thị ở trên]. ....

Summary..

Terraform ở Python là gì?

Python-terraform là một mô-đun Python cung cấp một trình bao bọc của công cụ dòng lệnh Terraform.Terraform là một công cụ được thực hiện bởi Hashicorp, vui lòng tham khảo //terraform.io/a python module provide a wrapper of terraform command line tool. terraform is a tool made by Hashicorp, please refer to //terraform.io/a python module provide a wrapper of terraform command line tool. terraform is a tool made by Hashicorp, please refer to //terraform.io/

Terraform có yêu cầu mã hóa không?

Terraform hoạt động trên khái niệm cơ sở hạ tầng như mã [IAC].Nói một cách đơn giản, IAC là khả năng đại diện cho cơ sở hạ tầng của bạn trong mã biểu mẫu.Chúng ta hãy lấy ví dụ bất kỳ tài nguyên điện toán nào trên một đám mây nhất định, như EC2 trên AWS.. In simple terms, IaC is the ability to represent your infrastructure in the form code. Let's take as an example any computing resource on a given cloud, like EC2 on AWS.. In simple terms, IaC is the ability to represent your infrastructure in the form code. Let's take as an example any computing resource on a given cloud, like EC2 on AWS.

Là ngôn ngữ kịch bản Terraform?

Terraform là một cơ sở hạ tầng, cơ sở hạ tầng như mã, công cụ phần mềm được tạo bởi Hashicorp.Người dùng xác định và cung cấp cơ sở hạ tầng trung tâm dữ liệu bằng ngôn ngữ cấu hình khai báo được gọi là Ngôn ngữ cấu hình Hashicorp [HCL] hoặc JSON tùy chọn.HashiCorp Configuration Language [HCL], or optionally JSON.HashiCorp Configuration Language [HCL], or optionally JSON.

Bài Viết Liên Quan

Chủ Đề