در این راهنمای گامبهگام، یاد میگیرید چگونه زیرساخت ابری Vultr را با استفاده از Terraform به طور کارآمد مدیریت و خودکارسازی کنید. این مقاله نحوه تأمین منابعی مانند سرورهای ابری و کلاسترهای کوبرنتیز را پوشش میدهد و به شما کمک میکند تا ثبات، مقیاسپذیری و همکاری را در پیادهسازیهای ابری خود تضمین کنید.
در دنیای مدرن توسعه نرمافزار، مدیریت دستی زیرساختها (سرورها، شبکهها، پایگاههای داده) دیگر کارآمد نیست. این رویکرد مستعد خطای انسانی، کند و برای محیطهای بزرگ غیرقابل مدیریت است. اینجاست که مفهوم «زیرساخت به عنوان کد» (Infrastructure as Code - IaC) وارد میشود. ابزارهایی مانند Terraform به شما اجازه میدهند تا زیرساخت خود را در فایلهای متنی تعریف کرده و مدیریت آن را خودکار کنید.
Vultr یک ارائهدهنده محبوب زیرساخت ابری است که به دلیل عملکرد بالا و قیمتگذاری رقابتی شناخته میشود. ترکیب قدرت Vultr با قابلیتهای اتوماسیون Terraform، یک راهحل ایدهآل برای ساخت و مدیریت زیرساختهای مقیاسپذیر و قابل اعتماد فراهم میکند.
قبل از شروع، اطمینان حاصل کنید که موارد زیر را آماده کردهاید:
اولین قدم، تعریف ارائهدهنده Vultr در فایلهای پیکربندی Terraform است. یک فایل به نام provider.tf ایجاد کرده و کد زیر را در آن قرار دهید. این کد به Terraform میگوید که چگونه با API Vultr ارتباط برقرار کند.
terraform {
required_providers {
vultr = {
source = "vultr/vultr"
version = "~> 2.18"
}
}
}
# Configure the Vultr Provider
provider "vultr" {
# Vultr API key is sourced from the VULTR_API_KEY environment variable.
# For security reasons, do not hardcode your API key here.
}
برای امنیت بیشتر، کلید API خود را به عنوان یک متغیر محیطی (environment variable) با نام VULTR_API_KEY تنظیم کنید تا از قرار دادن آن به صورت مستقیم در کد جلوگیری شود.
حالا بیایید یک سرور ابری ساده در Vultr ایجاد کنیم. یک فایل جدید به نام main.tf بسازید و کد زیر را برای تعریف یک منبع (resource) از نوع vultr_instance اضافه کنید.
resource "vultr_instance" "my_server" {
label = "my-first-terraform-server"
plan = "vc2-1c-1gb"
region = "ewr" # New Jersey
os_id = 1743 # Ubuntu 22.04 LTS
hostname = "server1.example.com"
tags = ["terraform-managed", "web-server"]
}
در این کد، ما یک سرور با برچسب مشخص، پلن منابع (۱ هسته پردازنده، ۱ گیگابایت رم)، در منطقه نیوجرسی و با سیستمعامل اوبونتو ۲۲.۰۴ تعریف کردهایم. برای اعمال این پیکربندی، دستورات زیر را در ترمینال خود اجرا کنید:
terraform init: برای دانلود و نصب ارائهدهنده Vultr.terraform plan: برای مشاهده تغییراتی که Terraform قصد دارد اعمال کند.terraform apply: برای ایجاد واقعی سرور در حساب Vultr شما.پس از چند دقیقه، سرور شما آماده استفاده خواهد بود. این قدرت اتوماسیون زیرساخت است!
Terraform همچنین میتواند منابع پیچیدهتر مانند کلاسترهای کوبرنتیز (Vultr Kubernetes Engine) را مدیریت کند. برای ایجاد یک کلاستر، کد زیر را به فایل main.tf خود اضافه کنید.
resource "vultr_kubernetes" "my_k8s_cluster" {
label = "my-k8s-cluster"
region = "fra" # Frankfurt
version = "v1.28.2+1"
node_pools {
node_quantity = 2
plan = "vc2-2c-4gb"
label = "worker-pool-1"
tag = "k8s-workers"
}
}
این پیکربندی یک کلاستر کوبرنتیز در منطقه فرانکفورت با یک استخر نود (node pool) شامل دو نود کارگر (worker node) ایجاد میکند. دوباره با اجرای دستور terraform apply، کلاستر شما به طور خودکار ساخته و پیکربندی میشود.
ترکیب این دو ابزار قدرتمند مزایای زیادی را به همراه دارد:
terraform apply را اجرا کنید.اتوماسیون زیرساخت ابری با استفاده از Terraform و Vultr یک رویکرد مدرن و کارآمد برای مدیریت چرخهی حیات برنامههاست. با تبدیل زیرساخت به کد، شما کنترل، سرعت و اطمینان بیشتری بر محیطهای خود خواهید داشت. این راهنما تنها نقطه شروعی برای کشف قابلیتهای بیپایان اتوماسیون در دنیای ابری است.