【问题标题】:How to create an SSH in gcloud, but keep getting API error如何在 gcloud 中创建 SSH,但不断收到 API 错误
【发布时间】:2019-01-23 23:13:03
【问题描述】:

我正在尝试使用以下教程 https://cloud.google.com/dataproc/docs/tutorials/dataproc-datalab 从我的 chrome 书中设置 datalab。但是,当尝试使用以下准则 https://cloud.google.com/dataproc/docs/concepts/accessing/cluster-web-interfaces#create_an_ssh_tunnel 设置 SSH 隧道时,我不断收到以下错误。

错误:(gcloud.compute.ssh)无法获取资源: - 项目 57800607318 未找到,不能用于 API 调用。如果它是最近创建的,请访问 https://console.developers.google 启用 Compute Engine API .com/apis/api/compute.googleapis.com/overview?project=57800607318 然后重试。如果您最近启用了此 API,请等待几分钟让该操作传播到我们的系统 茎并重试。

错误消息会让我相信我的“Compute Engine API”未启用。但是,我已经仔细检查并启用了“Compute Engine API”。

这是我进入云壳的内容

gcloud compute ssh ${test-cluster-m} \
    --project=${datalab-test-229519} --zone=${us-west1-b}  -- \
    -4 -N -L ${8080}:${test-cluster-m}:${8080}

【问题讨论】:

    标签: gcloud ssh-tunnel google-cloud-datalab google-chrome-os


    【解决方案1】:

    ${} 用于访问本地环境变量。您在之前的步骤中设置它们:

    export PROJECT=project;export HOSTNAME=hostname;export ZONE=zone;PORT=number
    

    在这种情况下是:

    export PROJECT=datalab-test-229519;export HOSTNAME=test-cluster-m;export ZONE=us-west1-b;PORT=8080
    

    试试这个:

    gcloud compute ssh test-cluster-m \
        --project datalab-test-229519 --zone us-west1-b  -- \
        -D 8080 -N
    

    或者通过以下方式访问环境变量:

    gcloud compute ssh ${HOSTNAME} \
        --project=${PROJECT} --zone=${ZONE}  -- \
        -D ${PORT} -N
    

    同时检查您尝试访问的 VM 是否正在运行。

    【讨论】:

    • 我检查以确保 VM 正在运行,然后尝试了您建议的代码。在第一次尝试时,我收到错误“绑定:无法分配请求的地址”。我发现这篇文章electricmonk.nl/log/2014/09/24/… 并能够解决最初的问题。但是,现在当我运行时没有错误,它只是在控制台中闪烁。
    • 您是否在 Cloud Shell 中运行它?
    • 是的,我正在运行云外壳。您认为这可能与在 chrome 操作系统上设置有关吗?我能够运行快速入门教程并让它以这种方式运行,但我仍然不确定为什么上述方法不起作用。
    • 我不这么认为。您能否检查一下在控制台中选择的项目是否与您尝试访问的项目相同?
    猜你喜欢
    • 2019-04-10
    • 2011-09-06
    • 2011-02-15
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多