我可以使用google的身份识别代理连接到TPU工作人员上的gRPC端点吗?"TPU工作者“指的是创建没有关联计算实例(使用gcloud compute tpus create)的TPU,并希望通过运行gcloud compute tpus describe my-tpu连接到gRPC端点。
ipAddress: <XXX>
port: <YYY>我可以轻松地设置一个SSH隧道,从我的本地机器连接到这个端点,但是我想使用IAP来创建这个隧道。我尝试了以下几点:
gcloud compute start-iap-tunnel my-tpu 8470但我得到
- The resource 'projects/.../zones/.../instances/my-tpu' was not found这是有意义的,因为TPU不是一个计算实例,命令gcloud compute start-iap-tunnel需要一个实例名。
有没有任何方法使用IAP隧道到任意内部IP地址?或者更广泛地说,我还有其他方法可以使用IAP为我的TPU工作人员创建隧道吗?
发布于 2022-03-10 17:23:22
是的,它可以使用TPU工作人员的内部ip地址来完成,下面是一个例子:
gcloud alpha compute start-iap-tunnel \
10.164.0.2 8470 \
--local-host-port="localhost:$LOCAL_PORT" \
--region $REGION \
--network $SUBNET \
--project $PROJECT请注意,必须在TPU子网中启用私人谷歌访问,这可以通过以下命令轻松完成:
gcloud compute networks subnets update $SUBNET \
--region=$REGION \
--enable-private-ip-google-access作为参考,这里有一个关于如何创建没有外部ip地址的TPU工作人员的示例:
gcloud alpha compute tpus tpu-vm create \
--project $PROJECT \
--zone $ZONE \
--internal-ips \
--version tpu-vm-tf-2.6.0 \
--accelerator-type v2-8 \
--network $SUBNET \
$NAME认证
要成功验证IAP隧道的端点源,需要按照以下步骤将SSH密钥添加到项目的元数据中:
ls -1 ~/.ssh/*
#=>
/. . ./id_rsa
/. . ./id_rsa.pub如果没有,可以使用命令ssh-keygen -t rsa -f ~/.ssh/id_rsa -C id_rsa生成它们。
gcloud compute project-info add-metadata \
--metadata ssh-keys="$(gcloud compute project-info describe \
--format="value(commonInstanceMetadata.items.filter(key:ssh-keys).firstof(value))")
$(whoami):$(cat ~/.ssh/id_rsa.pub)"
#=>
Updated [https://www.googleapis.com/compute/v1/projects/$GCP_PROJECT_NAME].gcloud projects add-iam-policy-binding $GCP_PROJECT_NAME \
--member=user:$USER_ID \
--role=roles/iap.tunnelResourceAccessorhttps://stackoverflow.com/questions/71413100
复制相似问题