برنامه نویسی

نحوه پیکربندی ورود به سیستم در آمازون eks fargate با terraform

آمازون EKS در Fargate به شما غلافهای بدون سرور می دهد – اما شما هنوز هم به سیاهههای مربوط نیاز دارید!
این راهنما شما را از طریق فعال کردن ورود به سیستم پیاده می کند بینایی وت حداقل با استفاده از terraform.


📘 چرا این مهم است

به طور پیش فرض ، آمازون EK در Fargate خروجی برنامه را وارد نمی کند. شما باید با استفاده از BIT FLUENT انتخاب کنید-روتر ورود به سیستم که از آن می خواند /var/log/containers و سیاهههای مربوط به CloudWatch را فشار می دهد. تمام آنچه شما نیاز دارید این است:

  • خوشه eks با استفاده از فارگیت
  • اعدام غلاف نقش iam
  • شکل

📦 مرحله 1: فضای نام ورود به سیستم را ایجاد کنید

resource "kubernetes_namespace" "aws_observability" {
  metadata {
    name = "aws-observability"
    labels = {
      "aws-observability" = "enabled"
    }
  }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


📝 مرحله 2: ConfigMap Bit Fluent Bit را اضافه کنید

BIT FLUENT در صورت نامگذاری به طور خودکار این پیکربندی را تشخیص می دهد aws-logging و در aws-observability فضای نام

اطمینان حاصل کنید که دارای معتبر است [FILTER] وت [OUTPUT] فقط بخش ها اجتناب کردن [INPUT] یا [SERVICE] بلوک ها – آنها توسط AWS اداره می شوند.

resource "kubernetes_config_map" "aws_logging" {
  metadata {
    name      = "aws-logging"
    namespace = kubernetes_namespace.aws_observability.metadata[0].name
  }

  data = {
    "filters.conf" = <<-EOT
      [FILTER]
          Name kubernetes
          Match logging-enabled.*
          Merge_Log On
          Keep_Log Off
    EOT

    "output.conf" = <<-EOT
      [OUTPUT]
          Name cloudwatch_logs
          Match logging-enabled.*
          region ap-southeast-1
          log_group_name /aws/eks/my-cluster/logs
          log_stream_prefix from-fluent-bit-
          auto_create_group true
    EOT
  }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


🏷 مرحله 3: غلافهای حاشیه نویسی برای فعال کردن ورود به سیستم

حاشیه نویسی های زیر را اضافه کنید تا غلاف خود را برای ورود به سیستم انتخاب کنید. اینها کنترل می کنند که آیا فرآیندهای بیت مسلط به صورت سیاهههای مربوط به آن استفاده می کنند و از کدام برچسب برای تطبیق استفاده می کنند.

🧠 fluentbit.io/tag باید مطابقت داشته باشد Match الگوی در پیکربندی خود.

annotations = {
  "eks.amazonaws.com/enable-logging" = "true"
  "fluentbit.io/tag"                 = "logging-enabled.nginx"
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


🔐 مرحله 4: سیاست نقش IAM

resource "aws_iam_role_policy" "fargate_logging" {
  name = "EKSFargateLogging"
  role = aws_iam_role.fargate_execution.name

  policy = jsonencode({
    Version = "2012-10-17",
    Statement = [
      {
        Sid      = "CreateLogGroup",
        Effect   = "Allow",
        Action   = "logs:CreateLogGroup",
        Resource = "arn:aws:logs:ap-southeast-2:123456789012:log-group:/aws/eks/my-cluster/logs"
      },
      {
        Sid    = "StreamAndPutLogs",
        Effect = "Allow",
        Action = [
          "logs:CreateLogStream",
          "logs:PutLogEvents",
          "logs:DescribeLogStreams"
        ],
        Resource = "arn:aws:logs:ap-southeast-2:123456789012:log-group:/aws/eks/my-cluster/logs:*"
      }
    ]
  })
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


✅ ورود به سیستم را تأیید کنید

📌 وضعیت ورود به سیستم غلاف را بررسی کنید:

kubectl describe pod 
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

به دنبال:
Logging: Successfully enabled logging for pod

📌 گزارش های CloudWatch را بررسی کنید:
رفتن به: CloudWatch > Log groups > /aws/eks/my-cluster/logs

📌 لیست غلاف ها و سیاهههای مربوط به دم:

kubectl get pods
kubectl logs 
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

📌 وضعیت POD را بررسی کنید:

kubectl describe pod 
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

به دنبال:
Logging: Successfully enabled logging for pod

📌 مشاهده گزارش ها:

  • CloudWatch: /aws/eks/my-cluster/logs
  • CLI: kubectl logs

🧪 عیب یابی

  • configmap باید <5300 نویسه باشد
  • ✅ فقط استفاده کنید [FILTER]با [OUTPUT]با [PARSER]
  • 🔁 غلاف را برای تغییرات پیکربندی مجدداً راه اندازی کنید

🎯 انجام شد

با ورود به سیستم در هر غلاف با استفاده از Terraform ، اکنون کنترل و دید خوبی در بارهای کار EKS Fargate دارید.

پیکربندی حداقل حداکثر مشاهده 💡

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا