Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך להפעיל את סוכן ה-IP Masquerade בסביבה שלכם.
מידע על סוכן הסתרת ה-IP ב-Managed Airflow
Managed Airflow תומך בסוכן IP Masquerade בסביבות שלכם.
הסוואת כתובת IP היא סוג של תרגום כתובות רשת (NAT) שמשמשת לתרגום של כתובות IP מסוג רבים לאחד. כך כמה לקוחות יכולים לגשת ליעד מכתובת IP אחת.
Managed Airflow מריץ את עומסי העבודה שלכם ב-GKE. כדי שהפונקציה תפעל בצורה תקינה, היא צריכה טווחי כתובות IP לצמתים (מכונות וירטואליות), וגם ל-Pods ולשירותים של GKE. כשמשימות ו-DAG של Airflow מתקשרים עם שירותים אחרים, הם משתמשים בכתובות IP של Pod. טווח כתובות ה-IP של ה-Pod צריך להיות ניתן לניתוב אל ומכל היעדים שהמשימות מתקשרות איתם.
באמצעות סוכן ה-IP Masquerade, יש לכם אפשרות לתרגם כתובות IP של Pod לכתובות IP של צומת, כך שיעדים ושירותים שמכוונים מ-DAG וממשימות של Airflow יקבלו רק חבילות מכתובות IP של צומת במקום מכתובות IP של Pod. האפשרות הזו שימושית בסביבות שבהן מצפים לקבל חבילות רק מכתובות ה-IP של הצמתים, או במקרים שבהם טווחי כתובות ה-IP של ה-Pod לא ניתנים לניתוב מחוץ לאשכול.
בנוסף, אפשר להשתמש בסוכן IP Masquerade כדי לשמור טווחי רשת בהגדרת הרשת. לדוגמה, אפשר להשתמש בטווח רשת נפרד עבור ה-Pods בתוך האשכול של הסביבה, ולהציג את התנועה הזו כאילו היא מגיעה מטווח כתובות ה-IP של הצומת. כך תוכלו לחסוך מקום בטווח כתובות IP אחד, כי תשתמשו בכתובות IP מטווח אחר עבור ה-Pods באשכול של הסביבה שלכם.
לדוגמה:
אתם משתמשים בטווח
10.0.0.0/8למכונות וירטואליות, ורק הטווח הזה מותר לפי כללי חומת האש.כדי לשמור טווחי רשת, צריך להשתמש בטווחי כתובות שונים (לדוגמה,
192.168.0.0/16) עבור ה-Pods באשכול של הסביבה.כדי להתחבר לשירות כלשהו מ-Pod (תהליך עבודה של Airflow), צריך להשתמש בהסוואת כתובת IP. אחרת, השירות מקבל תנועה מ-
192.168.0.0/16ומוחק אותה בגלל כלל חומת אש. כשהסוכן של IP Masquerade מופעל ומוגדר, השירות מקבל בקשות מ-10.0.0.0/8, והן מתקבלות.
לפני שמתחילים
אי אפשר להפעיל את הסוכן IP Masquerade במסוף Google Cloud .
כדי להשתמש בתכונה הזו, צריך ליצור סביבה עם GKE מגרסה 1.22.7 ואילך.
סוכן ה-IP Masquerade לא זמין בסביבות שנוצרו בגרסאות קודמות של GKE, גם אם בוצע שדרוג של GKE לגרסה 1.22.7 ולגרסאות מאוחרות יותר.
אם מפעילים את סוכן IP Masquerade, ברירת המחדל של EgressNatPolicy ב-GKE מוחלפת בהגדרה של Managed Airflow. אם סוכן ה-IP Masquerade לא מופעל, תעבורת הנתונים היוצאת לא תוסתר ותשתמש ב-EgressNatPolicy של GKE כברירת מחדל.
הפעלת סוכן IP Masquerade בסביבה קיימת
אי אפשר להפעיל את סוכן ה-IP Masquerade בסביבה קיימת.
הפעלת סוכן להסתרת כתובת IP כשיוצרים סביבה
אפשר להפעיל את סוכן הסתרת כתובת ה-IP כשיוצרים סביבה.
מידע נוסף על יצירת סביבות Managed Airflow זמין במאמר יצירת סביבה.
המסוף
אי אפשר להפעיל את הסוכן IP Masquerade במסוף Google Cloud .
gcloud
כשיוצרים סביבה, הארגומנט --enable-ip-masq-agent מאפשר את השימוש בסוכן IP Masqerade.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.17.13-airflow-2.11.1 \
--enable-ip-masq-agent
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONעם האזור שבו הסביבה ממוקמת.
דוגמה:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.17.13-airflow-2.11.1 \
--enable-ip-masq-agent
API
יוצרים בקשת API של environments.create.
מציינים את ההגדרה במשאב Environment.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.17.13-airflow-2.11.1"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
מחליפים את:
-
PROJECT_IDבמזהה הפרויקט (Project ID). -
LOCATIONעם האזור שבו הסביבה ממוקמת. ENVIRONMENT_NAMEבשם הסביבה.
דוגמה:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "projects/example-project/locations/us-central1/environments/example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.17.13-airflow-2.11.1"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
Terraform
כשיוצרים סביבה, השדה enable_ip_masq_agent
בבלוק node_config מאפשר את סוכן ה-IP Masqerade.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.17.13-airflow-2.11.1"
}
node_config {
enable_ip_masq_agent = true
}
}
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONעם האזור שבו הסביבה ממוקמת.
דוגמה:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-2.17.13-airflow-2.11.1"
}
node_config {
enable_ip_masq_agent = true
}
}
}
הגדרת סוכן IP Masquerade
מידע נוסף על שימוש בסוכן IP Masquerade והגדרתו ב-Managed Airflow (דור 2) זמין במאמר שימוש במדיניות NAT של תעבורת יציאה להגדרת מיסוך כתובות IP באשכולות Autopilot.