סוכן תפעול

ארכיטקטורה

סוכן התפעול יוצר מכונה וירטואלית ומתקין את סוכן התפעול כדי לשלב עם שירותי Monitoring ו-Logging. הוא משתמש ב:

  • Compute Engine
  • מעקב
  • רישום ביומן

בדוגמה הבאה מוגדרת מכונה וירטואלית פשוטה אחת שמחוברת ל-Logging כדי לדווח.


שנתחיל?

כדי להעתיק את קוד המקור ב-Cloud Shell, לוחצים על הקישור הבא. אחרי שמגיעים לשם, פקודה אחת תתחיל הרצה של עותק עובד של האפליקציה בפרויקט.

Cloud Shell-פתיחה ב

צפייה בקוד המקור ב-GitHub


רכיבים של סוכן התפעול

ארכיטקטורת סוכן תפעול משתמשת בכמה מוצרים. ברשימה הבאה מפורטים הרכיבים, וגם מידע נוסף על הרכיבים, כולל קישורים לסרטונים קשורים, למסמכי מוצר ולמדריכים אינטראקטיביים.
וידאו Docs הדרכות מפורטות
Compute Engine ‫Compute Engine היא טכנולוגיה וירטואלית של Google Cloud. בעזרת התכונה הזו תוכלו להגדיר הרבה מכונות וירטואליות שונות בהתאם לצרכים שלכם.
Cloud Monitoring בעזרת Cloud Monitoring אפשר לעיין בנתוני הביצועים, הזמינות והתקינות של האפליקציות והתשתית שלכם.
Cloud Logging ‫Cloud Logging מספק ניהול יומנים בזמן אמת ומנוהל באופן מלא, עם אחסון, חיפוש, ניתוח והתראות בקנה מידה של אקסה-בייט.

סקריפטים

סקריפט ההתקנה משתמש בקובץ הפעלה שנכתב ב-go ובכלים של Terraform CLI כדי לקחת פרויקט ריק ולהתקין בו את האפליקציה. הפלט צריך להיות אפליקציה פעילה וכתובת URL לכתובת ה-IP של איזון העומסים.

./main.tf

הפעלת שירותים

שירותי Google Cloud מושבתים בפרויקט כברירת מחדל. כדי להשתמש באחד מהפתרונות שמופיעים כאן, צריך להפעיל את האפשרויות הבאות:

  • Compute Engine – מכונות וירטואליות ורשתות
variable "gcp_service_list" {
    description = "The list of apis necessary for the project"
    type        = list(string)
    default = [
        "compute.googleapis.com",
    ]
}

resource "google_project_service" "all" {
  for_each                   = toset(var.gcp_service_list)
  project                    = var.project_number
  service                    = each.key
  disable_dependent_services = false
  disable_on_destroy         = false
}

יצירת מכונה וירטואלית

יוצר מכונה וירטואלית.

resource "google_compute_instance" "default" {
  project      = var.project_id
  name         = "${var.basename}-instance"
  machine_type = "f1-micro"
  zone         = var.zone

  boot_disk {
    initialize_params {
      image = "centos-cloud/centos-8-v20210817"
    }
  }
  labels = {
    env        = "prod"
    app        = "myproduct"
    created_by = "terraform"
  }

  network_interface {
    network = "default"

    access_config {
      // Include this section to give the VM an external ip address
    }
  }
  service_account {
    // Google recommends custom service accounts that have cloud-platform scope and permissions granted via IAM Roles.
    // This non production example uses the default compute service account.
    email  = local.sacompute
    scopes = ["cloud-platform"]
  }
}

התקנת סוכן התפעול

סוכן התפעול הוא הסוכן העיקרי לאיסוף נתוני טלמטריה מהמכונות שלכם ב-Compute Engine. במאמר הזה נסביר איך להתקין אותו באמצעות Terraform.

module "agent_policy" {
    source  = "terraform-google-modules/cloud-operations/google//modules/agent-policy"
    version = "~> 0.1.0"
    
    project_id = var.project_id
    policy_id  = "ops-agents-example-policy"
    agent_rules = [
        {
        type               = "ops-agent"
        version            = "current-major"
        package_state      = "installed"
        enable_autoupgrade = true
        },
    ]
    group_labels = [
        {
        env        = "prod"
        app        = "myproduct"
        created_by = "terraform"
        }
    ]
    
    os_types = [
        {
        short_name = "centos"
        version    = "8"
        },
    ]
}

סיכום

אחרי ההרצה, אמור להיות לכם מכונה וירטואלית שהוגדרה כראוי לרישום אירועים ב-Google Cloud Logging. בנוסף, צריך שיהיה לכם את כל הקוד לשינוי או להרחבה של הפתרון הזה כך שיתאים לסביבה שלכם.