Google Compute Engine SSH 運算子

先決條件任務

要使用這些運算子,您必須完成幾件事

ComputeEngineRemoteInstanceSSHOperator

使用 SSHOperator 以及 ComputeEngineSSHHook 在遠端執行個體上執行命令。

此運算子使用 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 文件

此條目是否有幫助?