Linode یک شرکت میزبانی ابری مستقر در ایالات متحده است که سرورهای مجازی ارائه میدهد. نام این شرکت، “Linode”، ترکیبی از کلمات “Linux” و “node” است. Linode جامعترین و مستقلترین ارائهدهنده ابری باز است که به کسبوکارهای با اندازههای مختلف خدمات میدهد. رایانش ابری به معنای ارائه خدمات محاسباتی، مانند ذخیرهسازی، سرورها، شبکهها، پایگاههای داده، هوش، نرمافزار، تجزیه و تحلیل و غیره، از طریق ابر است. مأموریت Linode این است که نوآوری را با سادهسازی و در دسترس قرار دادن رایانش ابری برای همه تسریع کند.
زیرساخت به عنوان کد (IaC) یک روش توسعه و عملیات است که به پیکربندی نرمافزار و استقرار سرورها اجازه میدهد تا به عنوان کد نمایان شوند. Terraform یک ابزار IaC است که بر ایجاد، حذف و تغییر سرورها تمرکز دارد و به جای مدیریت نرمافزار روی آن سرورها، به این کار میپردازد. Terraform انواع مختلفی از پلاگینها را برای ارتباط با ارائهدهندگان میزبانی مختلف، از جمله یک پلاگین رسمی Linode، ارائه میدهد. Linodeهایی که با Terraform ایجاد میشوند، میتوانند بیشتر با سیستمهای کانتینری مانند Docker یا نرمافزارهای مدیریت پیکربندی مانند Puppet، Salt، Ansible، Chef و غیره پیکربندی شوند.
پیشنیازها
یک توکن دسترسی شخصی برای API v4 Linode برای استفاده با Terraform.
نصب Terraform
مراحل نصب در این آموزش برای سیستمعاملهای لینوکس است. برای نصب Terraform بر روی سیستمعاملهای دیگر، مانند macOS، به صفحه دانلودهای Terraform مراجعه کنید. پس از نصب، به مرحله ساخت با ارائهدهنده Terraform بروید.
**توجه:** ارائهدهنده Terraform برای Linode به نسخه ۰.۱۲.۰+ نیاز دارد. مثالهای این آموزش برای سازگاری با نسخه ۰.۱۱ نوشته شدهاند و ممکن است به زودی بهروزرسانی شوند.
برای نصب Terraform بر روی یک سیستمعامل لینوکس، مراحل زیر را دنبال کنید:
۱. ابتدا، یک ترمینال باز کنید و یک دایرکتوری پروژه Terraform در دایرکتوری خانگی با اجرای دستور زیر ایجاد کنید:
mkdir ~/terraform
۲. پس از آن، با اجرای دستور زیر به دایرکتوری ایجاد شده بروید:
cd ~/terraform
۳. سپس، فایلهای زیر را از وبسایت Terraform دانلود کنید. کاربران باید لینکهای صفحه دانلود را بررسی کنند تا ببینند آیا نسخه جدیدتری موجود است و قبل از اجرای دستورات زیر، دستورات wget را بهروزرسانی کنند تا از آن URLها استفاده کنند:
– برای دانلود آرشیو .zip لینوکس ۶۴ بیتی، دستور زیر را اجرا کنید:
wget https://releases.hashicorp.com/terraform/0.12.5/terraform_0.12.5_linux_amd64.zip
– برای دانلود فایل امضای checksum، دستور زیر را اجرا کنید:
wget https://releases.hashicorp.com/terraform/0.12.5/terraform_0.12.5_SHA256SUMS.sig
– برای دانلود فایل SHA256 checksums، دستور زیر را اجرا کنید:
wget https://releases.hashicorp.com/terraform/0.12.5/terraform_0.12.5_SHA256SUMS
تأیید دانلود
۱. دستور زیر را برای وارد کردن کلید GPG امنیتی HashiCorp اجرا کنید که در صفحه امنیتی HashiCorp در بخش ارتباطات امن لیست شده است:
gpg --recv-keys 51852D87348FFC4C
توجه: اگر کاربر خطاهایی دریافت کند که نشاندهنده عدم دسترسی یا عدم وجود نرمافزار dirmngr باشد، dirmngr را با استفاده از مدیر بسته نصب کرده و دستور GPG را دوباره اجرا کنید.
۲. سپس، با اجرای دستور زیر، امضای GPG فایل checksum را تأیید کنید:
gpg --verify terraform*.sig terraform*SHA256SUMS
۳. خروجی دستور بالا باید شامل امضای خوب از پیام تأیید “HashiCorp Security <security@hashicorp.com>” باشد.
۴. تأیید کنید که خروجی اثر انگشت با اثر انگشت لیست شده در بخش ارتباطات امن صفحه امنیتی HashiCorp مطابقت دارد.
۵. پس از آن، با اجرای دستور زیر checksum آرشیو .zip را تأیید کنید. خروجی دستور زیر باید نام فایل Terraform را نمایش دهد.
sha256sum -c terraform*SHA256SUMS 2>&1 | grep OK
پیکربندی محیط Terraform
۱. دستور زیر را برای استخراج فایل terraform_*_linux_amd64.zip به دایرکتوری ~/terraform که ایجاد کردهاید، اجرا کنید:
unzip terraform_*_linux_amd64.zip
۲. پس از آن، فایل ~./profile را ویرایش کنید تا دایرکتوری ~/terraform را در PATH شامل شود. سپس، پروفایل bash را دوباره بارگذاری کنید:
echo 'export PATH="$PATH:$HOME/terraform"' >> ~/.profile
source ~/.profile
۳. دستور زیر را اجرا کنید تا تأیید کنید که Terraform میتواند بدون هیچ آرگومان یا گزینهای اجرا شود.
terraform
با استفاده از ارائهدهنده Linode بسازید
۱. ابتدا، فایل linode-terraform-web.tf را در دایرکتوری ~/terraform با کد زیر ایجاد کنید. توکن API Linode، رمز عبور ریشه دلخواه و کلید SSH عمومی را در محتوای زیر جایگزین کنید.
terraform {
required_providers {
linode = {
source = "linode/linode"
version = "1.16.0"
}
}
}
provider "linode" {
token = "YOUR_LINODE_API_TOKEN"
}
resource "linode_instance" "terraform-web" {
image = "linode/ubuntu18.04"
label = "Terraform-Web-Example"
group = "Terraform"
region = "us-east"
type = "g6-standard-1"
authorized_keys = [ "YOUR_PUBLIC_SSH_KEY" ]
root_pass = "YOUR_ROOT_PASSWORD"
}
۲. سپس، دستور زیر را برای راهاندازی پیکربندی Terraform اجرا کنید:
terraform init
۳. دستور برنامهریزی Terraform را اجرا کنید. این دستور هیچ عملی را انجام نمیدهد و هیچ تغییری در حساب Linode ایجاد نمیکند. در عوض، تحلیلی انجام میشود تا مشخص شود چه اقداماتی (مانند ایجاد، تغییر یا حذف نمونههای Linode) برای دستیابی به وضعیت توصیف شده در پیکربندی لازم است.
terraform plan
۴. اگر خطایی وجود نداشته باشد، دستور زیر را برای شروع استقرار اجرا کنید:
terraform apply
۵. برای تأیید استقرار، “بله” را وارد کرده و کلید ENTER را فشار دهید.
۶. در نهایت، به Linode Manager مراجعه کنید تا ببینید که محیط مستقر شده به حساب Linode اضافه شده است.
حذف سرورها
Terraform شامل یک دستور حذف برای حذف یا از بین بردن سرورهایی است که توسط Terraform مدیریت میشوند. قبل از اجرای دستور حذف، کاربر میتواند دستور برنامهریزی را با گزینه -destroy اجرا کند تا ببیند کدام سرورها پس از اجرای دستور حذف حذف خواهند شد.
terraform plan -destroy
برای حذف یک سرور، مراحل زیر را دنبال کنید:
۱. دستور زیر را برای حذف تمام سرورهای لیست شده از جلسه قبلی اجرا کنید:
terraform destroy
۲. سپس، با وارد کردن “بله” در هنگام درخواست، حذف را تأیید کنید.
۳. به Linode Manager مراجعه کرده و تأیید کنید که Linodeها حذف شدهاند.
۴. در نهایت، دستور زیر را برای حذف فایلهای پیکربندی اجرا کنید:
rm *.tf
نتیجهگیری
این آموزش مراحل نصب Terraform را در محیطهای Linode ارائه میدهد. امیدواریم این آموزش مفید بوده باشد و در صورت داشتن هرگونه سوال یا پیشنهاد با ما ارتباط بگیرید.