Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך להפעיל את סוכן ה-IP Masquerade בסביבה שלכם.
מידע על סוכן הסתרת ה-IP ב-Managed Airflow
Managed Airflow תומך בסוכן IP Masquerade בסביבות שלכם.
הסוואת כתובת IP היא סוג של תרגום כתובות רשת (NAT) שמשמשת לתרגום של הרבה כתובות IP לכתובת 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 .
הפעלת סוכן IP Masquerade בסביבה קיימת
אי אפשר להפעיל את סוכן הסוואה של כתובת IP בסביבה קיימת.
הפעלת סוכן להסתרת כתובת IP כשיוצרים סביבה
אפשר להפעיל את סוכן ה-IP Masquerade כשיוצרים סביבה.
מידע נוסף על יצירת סביבות Managed Airflow זמין במאמר יצירת סביבה.
המסוף
אי אפשר להפעיל את הסוכן IP Masquerade במסוף Google Cloud .
gcloud
כשיוצרים סביבה, הארגומנט --enable-ip-masq-agent מאפשר את השימוש בסוכן IP Masqerade.
צריך גם להפעיל כינוי לכתובת IP באמצעות הארגומנט --enable-ip-alias.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--enable-ip-masq-agent
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONעם האזור שבו הסביבה ממוקמת.
דוגמה:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--enable-ip-masq-agent
API
יוצרים בקשת API של environments.create.
מציינים את ההגדרה במשאב Environment.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"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-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"enableIpMasqAgent": true
}
}
}
Terraform
כשיוצרים סביבה, השדה enable_ip_masq_agent
בבלוק node_config מאפשר את סוכן ה-IP Masqerade.
צריך גם להפעיל כינוי לכתובת IP באמצעות השדה use_ip_aliases בבלוק ip_allocation_policy.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-1.20.12-airflow-1.10.15"
}
node_config {
ip_allocation_policy = [{
use_ip_aliases = true
// Other networking configuration
}]
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-1.20.12-airflow-1.10.15"
}
node_config {
ip_allocation_policy = [{
use_ip_aliases = true
// Other networking configuration
}]
enable_ip_masq_agent = true
}
}
}
הגדרת סוכן IP Masquerade
מידע נוסף על שימוש בסוכן IP Masquerade והגדרתו ב-Managed Airflow (Legacy Gen 1) זמין במאמר בנושא הגדרת סוכן IP Masquerade באשכולות רגילים.