Google Compute Engine SSH 運算子

先決條件任務

要使用這些運算子,您必須做一些準備工作

ComputeEngineRemoteInstanceSSHOperator

SSHOperatorComputeEngineSSHHook 一起使用,在遠端例項上執行命令。

此運算子使用 Cloud OS Login 或例項元資料來管理 SSH 金鑰。要使用 Cloud OS Login,服務賬號必須具有 compute.osAdminLogin IAM 角色,並且例項元資料必須啟用 Cloud OS Login。這可以透過設定例項元資料 - enable-oslogin=TRUE 來完成

要使用例項元資料,請確保在 hook 中將 Cloud OS Login 引數設定為 False。

請注意,目標例項必須允許埠 22 上的 tcp 流量。

以下是建立運算子的程式碼

tests/system/google/cloud/compute/example_compute_ssh.py

metadata_without_iap_tunnel1 = SSHOperator(
    task_id="metadata_without_iap_tunnel1",
    ssh_hook=ComputeEngineSSHHook(
        user="username",
        instance_name=GCE_INSTANCE_NAME,
        zone=LOCATION,
        project_id=PROJECT_ID,
        use_oslogin=False,
        use_iap_tunnel=False,
        cmd_timeout=1,
    ),
    command="echo metadata_without_iap_tunnel1",
)

您也可以在不指定專案 ID 的情況下建立 hook - 專案 ID 將從使用的 Google 憑據中檢索

tests/system/google/cloud/compute/example_compute_ssh.py

metadata_without_iap_tunnel2 = SSHOperator(
    task_id="metadata_without_iap_tunnel2",
    ssh_hook=ComputeEngineSSHHook(
        user="username",
        instance_name=GCE_INSTANCE_NAME,
        zone=LOCATION,
        use_oslogin=False,
        use_iap_tunnel=False,
        cmd_timeout=100,
    ),
    command="echo metadata_without_iap_tunnel2",
)

更多資訊

請參閱 Google Compute Engine API 文件和 Cloud OS Login API 文件 * Google Cloud API 文件 * Google Cloud OS Login API 文件

此條目有幫助嗎?