Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird beschrieben, wie Sie den IP-Masquerade-Agent für Ihre Umgebung aktivieren.
IP-Masquerade-Agent in Cloud Composer
Cloud Composer unterstützt den IP Masquerade-Agent für Ihre Umgebungen.
Die IP-Maskierung ist eine Form von Network Address Translation (NAT), die verwendet wird, um n:1-IP-Adressübersetzungen durchzuführen. So können mehrere Clients über eine einzige IP-Adresse auf ein Ziel zugreifen.
Cloud Composer 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/16
und 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.
Hinweise
Der IP-Masquerade-Agent kann nicht in der Google Cloud Console aktiviert werden.
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 Cloud Composer-Umgebungen finden Sie unter 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.
Sie müssen den IP-Alias auch mit dem Argument --enable-ip-alias
aktivieren.
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
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.
Beispiel:
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
Erstellen Sie eine API-Anfrage environments.create
.
Geben Sie die Konfiguration in der Ressource Environment
an.
{
"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
}
}
}
Ersetzen Sie:
PROJECT_ID
durch die Projekt-ID.LOCATION
durch die Region, in der sich die Umgebung befindet.ENVIRONMENT_NAME
durch 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-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"enableIpMasqAgent": true
}
}
}
Terraform
Wenn Sie eine Umgebung erstellen, aktiviert das Feld enable_ip_masq_agent
im Block node_config
den IP-Masquerade-Agent.
Sie müssen den IP-Alias auch mit dem Feld use_ip_aliases
im
Block 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
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch 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-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-Agent konfigurieren
Weitere Informationen zur Verwendung und Konfiguration des IP-Masquerade-Agents in Cloud Composer 1 finden Sie unter IP-Masquerade-Agent in Standardclustern konfigurieren.