اتوماسیون Vultr با ترافورم

Image

اتوماسیون زیرساخت ابری Vultr با استفاده از Terraform

در این راهنمای گام‌به‌گام، یاد می‌گیرید چگونه زیرساخت ابری Vultr را با استفاده از Terraform به طور کارآمد مدیریت و خودکارسازی کنید. این مقاله نحوه تأمین منابعی مانند سرورهای ابری و کلاسترهای کوبرنتیز را پوشش می‌دهد و به شما کمک می‌کند تا ثبات، مقیاس‌پذیری و همکاری را در پیاده‌سازی‌های ابری خود تضمین کنید.

چرا اتوماسیون زیرساخت اهمیت دارد؟

در دنیای مدرن توسعه نرم‌افزار، مدیریت دستی زیرساخت‌ها (سرورها، شبکه‌ها، پایگاه‌های داده) دیگر کارآمد نیست. این رویکرد مستعد خطای انسانی، کند و برای محیط‌های بزرگ غیرقابل مدیریت است. اینجاست که مفهوم «زیرساخت به عنوان کد» (Infrastructure as Code - IaC) وارد می‌شود. ابزارهایی مانند Terraform به شما اجازه می‌دهند تا زیرساخت خود را در فایل‌های متنی تعریف کرده و مدیریت آن را خودکار کنید.

Vultr یک ارائه‌دهنده محبوب زیرساخت ابری است که به دلیل عملکرد بالا و قیمت‌گذاری رقابتی شناخته می‌شود. ترکیب قدرت Vultr با قابلیت‌های اتوماسیون Terraform، یک راه‌حل ایده‌آل برای ساخت و مدیریت زیرساخت‌های مقیاس‌پذیر و قابل اعتماد فراهم می‌کند.

پیش‌نیازها برای شروع

قبل از شروع، اطمینان حاصل کنید که موارد زیر را آماده کرده‌اید:

  • یک حساب کاربری فعال در Vultr.
  • یک کلید API (API Key) از حساب Vultr خود. می‌توانید آن را از پنل کاربری Vultr در بخش Account > API دریافت کنید.
  • نصب بودن Terraform روی سیستم شما. می‌توانید آن را از وب‌سایت رسمی Terraform دانلود کنید.

پیکربندی ارائه‌دهنده (Provider) 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 تنظیم کنید تا از قرار دادن آن به صورت مستقیم در کد جلوگیری شود.

ایجاد اولین سرور ابری (Cloud Instance)

حالا بیایید یک سرور ابری ساده در 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"]
}

در این کد، ما یک سرور با برچسب مشخص، پلن منابع (۱ هسته پردازنده، ۱ گیگابایت رم)، در منطقه نیوجرسی و با سیستم‌عامل اوبونتو ۲۲.۰۴ تعریف کرده‌ایم. برای اعمال این پیکربندی، دستورات زیر را در ترمینال خود اجرا کنید:

  1. terraform init: برای دانلود و نصب ارائه‌دهنده Vultr.
  2. terraform plan: برای مشاهده تغییراتی که Terraform قصد دارد اعمال کند.
  3. terraform apply: برای ایجاد واقعی سرور در حساب Vultr شما.

پس از چند دقیقه، سرور شما آماده استفاده خواهد بود. این قدرت اتوماسیون زیرساخت است!

راه‌اندازی یک کلاستر کوبرنتیز مدیریت‌شده (VKE)

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 با Vultr

ترکیب این دو ابزار قدرتمند مزایای زیادی را به همراه دارد:

  • ثبات و تکرارپذیری: با تعریف زیرساخت در کد، می‌توانید محیط‌های یکسانی را بارها و بارها با اطمینان ایجاد کنید.
  • مقیاس‌پذیری آسان: برای افزایش منابع، کافی است یک عدد را در فایل پیکربندی خود تغییر دهید و terraform apply را اجرا کنید.
  • همکاری تیمی: فایل‌های Terraform می‌توانند در سیستم‌های کنترل نسخه مانند Git مدیریت شوند، که به تیم‌ها اجازه می‌دهد به طور مشترک روی زیرساخت کار کنند.
  • کاهش خطا: اتوماسیون فرآیندها خطاهای انسانی ناشی از پیکربندی‌های دستی را به حداقل می‌رساند.

جمع‌بندی

اتوماسیون زیرساخت ابری با استفاده از Terraform و Vultr یک رویکرد مدرن و کارآمد برای مدیریت چرخه‌ی حیات برنامه‌هاست. با تبدیل زیرساخت به کد، شما کنترل، سرعت و اطمینان بیشتری بر محیط‌های خود خواهید داشت. این راهنما تنها نقطه شروعی برای کشف قابلیت‌های بی‌پایان اتوماسیون در دنیای ابری است.


Loading...