Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird beschrieben, wie Sie den IP-Masquerade-Agent für Ihre Umgebung aktivieren.
IP-Masquerade-Agent in Managed Airflow
Managed Airflow unterstützt den IP-Masquerade-Agenten für Ihre Umgebungen.
IP-Maskierung ist eine Form von Network Address Translation (NAT), die verwendet wird, um n:1-IP-Adressübersetzungen auszuführen. So können mehrere Clients über eine einzige IP-Adresse auf ein Ziel zugreifen.
Managed Airflow führt Ihre Arbeitslasten in GKE aus. Für eine korrekte Funktion sind IP-Bereiche für Knoten (VMs) sowie GKE-Pods und -Dienste erforderlich. Wenn Airflow-DAGs und -Aufgaben mit anderen Diensten kommunizieren, verwenden sie Pod-IP-Adressen und diese Pod-IP-Bereiche müssen an und von allen Zielen weitergeleitet werden können, mit denen die Aufgaben interagieren.
Mit dem IP-Masquerade-Agent können Sie Pod-IP-Adressen in Knoten-IP-Adressen übersetzen, sodass Ziele und Dienste, die von Airflow-DAGs und Aufgaben als Ziel dienen, nur Pakete von Knoten-IP-Adressen anstelle von Pod-IP-Adressen empfangen. Das ist in Umgebungen nützlich, in denen nur Pakete von Knoten-IP-Adressen empfangen werden sollen oder in denen Pod-IP-Bereiche außerhalb des Clusters nicht routingfähig sind.
Darüber hinaus können Sie den IP-Masquerade-Agent verwenden, um Netzwerkbereiche in Ihrer Netzwerkkonfiguration zu speichern. Sie können beispielsweise einen separaten Netzwerkbereich für Pods im Cluster Ihrer Umgebung verwenden und diesen Traffic als aus dem Knoten-IP-Adressbereich stammenden Traffic maskieren. Auf diese Weise speichern Sie den IP-Adressbereich in einem Bereich, indem Sie IP-Adressen aus einem anderen Bereich für Pods im Cluster Ihrer Umgebung verwenden.
Beispiel:
Sie verwenden den
10.0.0.0/8-Bereich für VMs. Nur dieser Bereich ist durch Ihre Firewallregeln zulässig.Zum Speichern von Netzwerkbereichen verwenden Sie einen anderen Bereich (z. B.
192.168.0.0/16) für Pods im Cluster Ihrer Umgebung.Zur Verbindung mit einem beliebigen Dienst von einem Pod (Airflow-Worker) ist eine IP-Maskierung erforderlich. Andernfalls empfängt der Dienst Traffic von
192.168.0.0/16und löscht ihn aufgrund einer Firewallregel. Wenn der IP-Masquerade-Agent aktiviert und konfiguriert ist, erhält der Dienst Anfragen von10.0.0.0/8, die akzeptiert werden.
Hinweis
Der IP-Masquerade-Agent kann nicht in der Google Cloud Console aktiviert werden.
Wenn Sie diese Funktion verwenden möchten, müssen Sie eine Umgebung mit GKE 1.22.7 oder höher erstellen.
Der IP-Masquerade-Agent ist nicht für Umgebungen verfügbar, die in früheren GKE-Versionen erstellt wurden, auch wenn GKE auf 1.22.7 und höher aktualisiert wurde.
Wenn Sie den IP-Masquerade-Agent aktivieren, wird die Standard EgressNatPolicy von GKE durch die Definition von Managed Airflow ersetzt. Wenn der IP-Masquerade-Agent nicht aktiviert ist, wird der ausgehende Traffic nicht maskiert und die Standard-EgressNatPolicy von GKE verwendet.
IP-Masquerade-Agent für eine vorhandene Umgebung aktivieren
Der IP-Masquerade-Agent kann nicht für eine vorhandene Umgebung aktiviert werden.
IP-Masquerade-Agent beim Erstellen einer Umgebung aktivieren
Sie können den IP-Masquerade-Agent beim Erstellen einer Umgebung aktivieren.
Weitere Informationen zum Erstellen von Managed Airflow-Umgebungen, siehe Umgebung erstellen.
Console
Der IP-Masquerade-Agent kann nicht in der Google Cloud Console aktiviert werden.
gcloud
Wenn Sie eine Umgebung erstellen, aktiviert das Argument --enable-ip-masq-agent den IP-Masquerade-Agent.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.17.2-airflow-2.11.1 \
--enable-ip-masq-agent
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.
Beispiel:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.17.2-airflow-2.11.1 \
--enable-ip-masq-agent
API
Erstellen Sie eine environments.create-API-Anfrage.
Geben Sie die Konfiguration in der Environment
Ressource an.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.17.2-airflow-2.11.1"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
Ersetzen Sie:
PROJECT_IDdurch die Projekt-ID.LOCATIONdurch die Region, in der sich die Umgebung befindet.ENVIRONMENT_NAMEdurch den Namen der Umgebung.
Beispiel:
// 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.2-airflow-2.11.1"
},
"nodeConfig": {
"enableIpMasqAgent": true
}
}
}
Terraform
Wenn Sie eine Umgebung erstellen, aktiviert das Feld enable_ip_masq_agent im Block node_config den IP-Masquerade-Agent.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.17.2-airflow-2.11.1"
}
node_config {
enable_ip_masq_agent = true
}
}
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.
Beispiel:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-2.17.2-airflow-2.11.1"
}
node_config {
enable_ip_masq_agent = true
}
}
}
IP-Masquerade-Agent konfigurieren
Weitere Informationen zur Verwendung und Konfiguration des IP-Masquerade-Agent in Managed Airflow (Gen 2) finden Sie unter NAT-Richtlinie für ausgehenden Traffic zur Konfiguration einer IP-Maskierung in Autopilot-Clustern verwenden.
Nächste Schritte
- Umgebung erstellen
- Gemeinsam genutztes VPC-Netzwerk konfigurieren
- Private IP-Netzwerke konfigurieren