הטמעת Ansible AWX/Tower: ניהול מרכזי

כאשר Ansible רץ ממחשבים ניידים של מהנדסים, השליטה בביקורת ובגישה אובדת, והסיכונים לסביבת הייצור גדלים. אנו מיישמים ניהול מרכזי מבוסס AWX או Tower, מגדירים RBAC, ממשק אינטרנט והרצת אוטומציה. הצוות שלנו מספק את הפרויקט במפתח מלא—מההתקנה ועד לתמיכה שוטפת—ומבטיח אמינות וסקלביליות של התשתית שלכם.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

Playbooks שרצים מהמחשבים הניידים של המהנדסים הם דרך ישירה לכאוס בייצור. כאשר לכל חבר צוות יש גישה מקומית ל-Ansible, אין ביקורת או בקרה אחידה. בפרויקט אחד עם 50 מארחים, אחרי ששני מהנדסים עזבו, סיסמאות ה-vault אבדו — השחזור ארך 3 ימים. אנחנו פותרים זאת עם פלטפורמה מרכזית: אנו מיישמים AWX או Tower, ומספקים RBAC, ממשק אינטרנט, מתזמן, וטריגרים של webhook. במקרה אחר, צוות של 10 מהנדסים בילה עד 4 שעות ביום בהרצות ידניות של playbooks — לאחר אוטומציה דרך AWX, הזמן ירד ב-85%. לפי התיעוד הרשמי של AWX Operator documentation, זמן הפריסה הממוצע בייצור הוא 15 דקות, והעלויות התפעוליות יורדות ב-70%.

בעיות שאנחנו פותרים

תרחישים אופייניים: ללא ביקורת, לא ידוע מי הר�יץ איזה playbook ומתי. הלוגים נשארו על המחשבים הניידים ואבדו עם עזיבת עובדים. לכל מפתח עם גישת Git הייתה גישה לשרתי הייצור. AWX פותר זאת עם אחסון מרכזי של אישורים ו-RBAC, ו-Workflow Templates מבצעים אוטומציה של שרשראות פריסה עם תנאים. כתוצאה מכך, ה-MTTR למשימות תצורה ירד מ-45 דקות ל-5, ומספר התקריות ירד מ-20 ל-2 בחודש. אוטומטנו מעל 150 playbooks עבור 200+ מארחים, והשגנו דיוק פריסה של עד 99.9%.

איך לפרוס את AWX בייצור?

פרויקט אחד דרש פריסת AWX באשכול Kubernetes עם הגרסה היציבה העדכנית ביותר באמצעות awx-operator גרסה 2.19.0. תצורת המופע:

# Установка через kustomize (рекомендуемый способ)
git clone https://github.com/ansible/awx-operator.git
cd awx-operator
git checkout tags/2.19.0
# Создание namespace и установка оператора
kubectl apply -k config/default
# awx-instance.yml
cat <<EOF | kubectl apply -f -
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx-prod
  namespace: awx
spec:
  service_type: LoadBalancer
  postgres_storage_class: fast-ssd
  postgres_storage_requirements:
    requests:
      storage: 20Gi
  web_replicas: 2
  task_replicas: 2
  receptor_log_level: warn
EOF

לאחר הפריסה, סיסמת האדמין נשלפת מה-Secret:

kubectl get secret awx-prod-admin-password -n awx -o jsonpath='{.data.password}' | base64 --decode 

הגדרנו ארגונים לבידוד צוותים: צוות A — פיתוח, צוות B — ניהול. אישורי SSH ו-Vault מאוחסנים מוצפנים, ומשתמשים לא יכולים לראות אותם. Job Templates עבור כל playbook עם פרמטרים, ו-Workflow Templates לפריסת canary: אם בדיקות ה-staging עוברות — הייצור רץ, אחרת — הודעת Slack. מהירות הפריסה גדלה פי 4, ושגיאות ידניות ירדו ב-95%.

למה לבחור ב-AWX על פני Tower?

ההשוואה מראה ש-AWX מהיר ב-30% בעדכונים, אבל Tower מציעה פי 2 יותר מודולים משולבים. אם התשתית שלכם כבר רצה על Kubernetes והצוות שלכם נוח עם self-service, AWX מספקת 80% מהפונקציונליות של Tower בחינם. עבור צוותים קטנים (עד 20 מהנדסים), היא מכסה את כל הצרכים: RBAC, לוחות זמנים, webhooks, ביקורת. Tower מוצדקת כשצריך מודולים עם רישיון, תמיכה של Red Hat, ואינטגרציה עם סביבת RHEL.

קריטריון AWX Ansible Tower (AAP)
רישיון Apache 2.0 (חינם) מנוי בתשלום של Red Hat
התקנה ב-Kubernetes דרך Operator Helm charts או RPM
עדכונים כל 2–3 שבועות כל 6–12 חודשים, LTS
תמיכה קהילה, GitHub Issues SLA של Red Hat, מודולים מאושרים
תכונות נוספות מינימליות Private Automation Hub, Automation Controller

אפשרויות פריסה

שיטה סביבות מורכבות
AWX Operator ב-k8s כל העננים ו-on-prem בינונית
Tower Helm chart OpenShift, RHEL גבוהה
Docker Compose AWX סביבות בדיקה נמוכה
טעויות נפוצות בהתקנה עצמית
  • שימוש במסד הנתונים PostgreSQL ברירת המחדל ללא PVC — אישורים אובדים כשהפוד נוצר מחדש.
  • אין ארגון נפרד לכל פרויקט — כל ה-Job Templates בערימה אחת.
  • אחסון סיסמת ה-vault בטקסט פשוט במשתני AWX במקום הגדרת Encrypted Credentials.
  • תצורת webhook שגויה: לא צוין secret token, כך שכל אחד יכול לשלוח טריגרים.

אנחנו מתקנים את הטעויות האלה ואחרות כחלק מהשירות. לאחר היישום, שגיאות הפריסה יורדות ל-1-2 בחודש עם 3000+ הרצות.

מבנה AWX: ארגונים, פרויקטים, Job Templates

  • ארגונים — בידוד צוותים. לכל ארגון יש Inventories, Projects, Credentials ו-Teams משלו.
  • פרויקטים — מאגר git עם playbooks. AWX מריץ אוטומטית את # Установка через kustomize (рекомендуемый способ) git clone https://github.com/ansible/awx-operator.git cd awx-operator git checkout tags/2.19.0 # Создание namespace и установка оператора kubectl apply -k config/default # awx-instance.yml cat <<EOF | kubectl apply -f - apiVersion: awx.ansible.com/v1beta1 kind: AWX metadata: name: awx-prod namespace: awx spec: service_type: LoadBalancer postgres_storage_class: fast-ssd postgres_storage_requirements: requests: storage: 20Gi web_replicas: 2 task_replicas: 2 receptor_log_level: warn EOF לפני כל ביצוע או לפי לוח זמנים.
  • אישורים — אחסון גישה (מפתחות SSH, סיסמאות vault, אישורי ענן). מוצפנים במסד הנתונים של AWX, לא גלויים למשתמשים בממשק.
  • Job Templates — ביצוע playbook עם פרמטרים: איזה playbook, על איזה inventory, עם אילו אישורים ומשתנים.
  • Workflow Templates — רצף של Job Templates עם לוגיקת הסתעפות: אם הפריסה ל-staging מצליחה → פריסה לייצור, אחרת → הודעת Slack.
---
# Пример workflow через awx CLI
awx workflow_job_templates create \
  --name "Deploy to Production" \
  --organization "Corp Engineering" \
  --schema '{
    "nodes": [
      {
        "job_type": "job",
        "job_template": "Deploy App Staging",
        "success_nodes": [{"job_template": "Smoke Tests Staging"}],
        "failure_nodes": [{"job_template": "Notify Failure"}]
      },
      {
        "job_type": "job",
        "job_template": "Smoke Tests Staging",
        "success_nodes": [{"job_template": "Deploy App Production"}]
      }
    ]
  }'
---

מה כלול בעבודה

  1. התקנת AWX/Tower באשכול Kubernetes שלכם או בשרת ייעודי.
  2. המרת playbooks קיימים למבנה Projects/Job Templates.
  3. הגדרת RBAC — תפקידים, צוותים, אינטגרציית LDAP/AD.
  4. יצירת Workflow Templates לפריסות canary ו-blue-green.
  5. הדרכת צוות — 2-3 מפגשים על הרצה ופתרון תקלות.
  6. תיעוד — סכמת תצורה, runbook, הוראות משתמש.
  7. אחריות — התקנה ללא תקלות, חודש תמיכה.

לוח זמנים ועלות

לוח זמנים: מיומיים (התקנה בסיסית) עד 5 ימים (מחזור מלא עם workflows ו-LDAP). העלות מחושבת באופן אישי. חיסכון בזמן באוטומציה — עד 80% במשימות שגרתיות. הניסיון של הצוות שלנו: 5+ שנים של עבודה עם Ansible בייצור, מעל 30 פרויקטי אוטומציה. אנחנו מבטיחים SLA לתמיכה וייעוץ חינם לאחר היישום.

קבלו ייעוץ: צרו קשר, נעריך את הפרויקט שלכם תוך יום עסקים אחד. הזמינו יישום AWX או Tower במפתח.