Bảng cheat địa hình
Terraform là một công cụ để xây dựng, cập nhật và quản lý hạ tầng của bạn bằng cách sử dụng mã. Giống như Github đã trích dẫn Show
Vì vậy, phần có hại nhất của Terraform là bạn có thể nhập hạ tầng vốn có của mình vào trạng thái cấu hình Terraform, nhờ đó tất cả các thay đổi trong tương lai đều có thể theo dõi được. Thứ có thể theo dõi được ở đây chính là toàn bộ thông tin về môi trường sản xuất của bạn. Trong bài viết hôm nay, mình sẽ đề cập đến vấn đề tại sao phải sử dụng Terraform và làm thế nào để sử dụng nó Standard is the fieldTerraform là bất khả tri trên đám mây nên bạn có thể chạy với Kubernetes Cluster bất kỳ, bất kỳ đám mây bất kỳ nào sử dụng bằng cách sử dụng các Nhà cung cấp được cung cấp sẵn. Một Nhà cung cấp là phần cốt lõi của nền tảng mà Terraform hỗ trợ, có trách nhiệm tương tác với API và cung cấp tài nguyên Trong bài viết này, mình sử dụng Terraform v0. 13. 4 trên tel4vn Server 20. 04. Để có thể theo dõi bài viết, bạn đọc hãy chuẩn bị môi trường như sau
Sơ lược về các câu lệnh trong TerraformĐể có thể xây dựng được với Terraform, bạn phải tạo mô-đun. Đây sẽ là thư mục bao gồm các tệp cấu hình để cung cấp thông tin cho việc thực thi. File config của Terraform có đuôi. tf nên trước hết bạn cần tạo tệp chính. tf tel4vn@devops:~/terraform_example$ touch main.tf Dưới đây là một số câu lệnh Terraform thường sử dụng mà bạn đọc cần biết
Khởi tạo Minikube Cluster bằng cách sử dụng MinikubeTrước khi bắt đầu với Terraform, bạn phải tạo một Minikube Cluster tel4vn@devops: minikube start Sau khi chạy câu lệnh trên, kiểm tra lại với kubectl ________số 8Cluster has up, vậy tiếp theo, bạn cần thêm cài đặt vào tệp main. tf. Trước hết, bạn cần một nhà cung cấp. Trong bài viết này, nhà cung cấp của bạn là kubernetes provider "kubernetes" { config_context_cluster = "minikube" } Theo cú pháp trên, bạn đã báo cáo với Terraform rằng Cluster mà bạn đang chạy là Minikube Cluster Next next is must only the resource block. Đó là các đoạn chỉ định một hoặc nhiều đối tượng trong hạ tầng của bạn. cụ thể. mạng ảo, phiên bản máy tính hoặc Bản ghi DNS, … Thực hiện thêm một không gian tên Kubernetes vào trong cụm terraform init0 Tiếp theo, thực hiện lệnh terraform init để kiểm tra phiên bản và khởi động Terraform trong thư mục hiện tại terraform init1 Tiếp tục thực hiện Terraform plan để kiểm tra những thay đổi có thể xảy ra terraform init2 Sau khi xem xét những thay đổi đó, hãy thực hiện áp dụng những thay đổi đó terraform init3 Cuối cùng, xác nhận lại các thay đổi đã áp dụng hoặc chưa sử dụng kubectl get ns terraform init4 Use Helm chart with TerraformTừ phần trên, bạn đã biết cách viết file config cho Terraform và chạy nó. Tiếp theo sẽ được chạy bằng biểu đồ Helm, sử dụng helm create để tạo biểu đồ terraform init5 Vì vậy, bạn cần chỉ định một nhà cung cấp để có thể làm việc với biểu đồ Helm và chỉ định tên Kubernetes Cluster để Helm biết nơi nó sẽ cài đặt các biểu đồ. Thực hiện thêm một khối mới trong chính. tf as after terraform init6 Sau đó, cần phải thêm tài nguyên Helm để biểu đồ này có thể được cài đặt và theo dõi bởi Terraform của bạn bằng cách sử dụng tài nguyên mà nhà cung cấp Helm cung cấp đó là helm _release. mình đặt tên tài nguyên này là cục bộ. You read can set any any name terraform init7 Sau khi cập nhật thêm cấu hình trong chính. tf, bạn chạy lại phần khởi động để cập nhật trạng thái đã thay đổi, bao gồm cả nhà cung cấp dịch vụ tải mới terraform init8 Sự thay đổi thống kê sẽ được thực hiện terraform init9 Sau khi xem xét thay đổi, hãy cập nhật các thay đổi ngay lập tức bằng cách sử dụng –tự động phê duyệt terraform validate0 Kiểm tra lại biểu đồ đã được thực hiện khai thác bằng cách sử dụng kubectl terraform validate1 Bạn có thể thấy, biểu đồ đã thực sự được triển khai Terraform và trong thư mục cũng đồng thời có trạng thái sao lưu tệp được tạo ra terraform validate2 Như bạn đã thấy, Terraform cung cấp tính năng sao lưu cho trạng thái của các tầng hạ tầng. Một bản sao lưu trạng thái hạ tầng gần nhất sẽ được tạo ra mỗi khi một trạng thái mới được khởi động. Đồng thời cho phép người dùng có thể quản lý các phiên bản trạng thái Phục hồi phiên bản trạng thái trước đóNhư đã nói trước đó, khi bạn cập nhật các cài đặt mới sử dụng Terraform, trạng thái sao lưu tệp sẽ được tạo ra và cập nhật liên tục mình phiên bản mới nhất. Vì một lý do nào đó, bạn phải quay lại phiên bản trạng thái hạ tầng trước đó. cụ thể. phiên bản mới có xung đột dẫn đến bất kỳ ứng dụng nào không hoạt động đúng Trước hết, hãy chạy lệnh terraform refresh để xem sự khác nhau giữa trạng thái hiện tại và cụm terraform validate3 Sau đó, để khôi phục lại phiên bản cũ, có 2 cách
Trong bài viết này, mình sẽ thực hiện bình luận những thay đổi, cụ thể là block đã triển khai helm chart terraform validate4 Sau khi bắt đầu, hãy chạy lại terraform apply để khôi phục terraform validate5 Xoá trạng thái phát triển được khai thác bởi TerraformĐể xóa trạng thái và tất cả các đối tượng, tài nguyên đã được khởi động và theo dõi bởi Terraform, ta sử dụng câu lệnh terraform destroy terraform validate6 Bạn có thể kiểm tra lại xem các đối tượng đã thực sự bị xóa đi bằng cách sử dụng kubectl terraform validate7 Lời kếtVừa rồi mình đã chia sẻ cho mọi người về Terraform và 2 ví dụ sử dụng với Minikube Cluster và Helm. Bất kỳ câu hỏi nào trong quá trình theo dõi bài đọc, bạn có thể bình luận bên dưới để mình hỗ trợ. Cảm ơn bạn đã theo dõi |