我是 GCP 新手。
我创建了 2 个项目。在每个项目中,我创建了一个计算引擎 VM 实例。这些实例有不同的名称,但位于同一区域和位置。
当我进入 gcloud shell 并连接到我的一个项目时,我会看到该实例中我在另一个项目的另一个实例中创建的文件。
我原本以为这两个项目不会共享相同的文件系统。我错了吗?如果我在同一个区域和地区创建实例,这是默认行为吗?
我通过打开 gcloud shell 并使用“gcloud config [priject-id]”命令来连接到我的项目。
有没有办法在不共享同一文件系统的不同项目中创建实例?
答案1
两个实例不可能共享同一个文件系统。
您可以将同一个磁盘连接到两个不同的虚拟机,但不能同时连接。为了附加磁盘(包含提到的文件系统)首先需要将其分离从当前版本开始。
您对“共享”文件系统的印象一定是错误的,而且您搞混了(两次登录到同一台机器)。
但是 - 假设存在一些但是(可能永远无法完全排除),您可以通过在云 shell 中运行以下命令来检查哪个磁盘连接到哪个虚拟机:
gcloud config set project my-project-name-1
gcloud compute instances describe instance1 | grep disk
您的输出应该类似:
wb@cloudshell:~ (wb)$ gcloud compute instances describe instaince111 | grep disk
Did you mean zone [europe-west4-b] for instance: [log1] (Y/n)? n
No zone specified. Using zone [europe-west3-c] for instance: [instance111].
disks:
diskSizeGb: '10'
source: https://www.googleapis.com/compute/v1/projects/xxxxxx/zones/europe-west3-c/disks/isntance111
然后选择另一个项目并运行描述再次命令。
- - - 更新 - - -
Cloud shell 是您的个人 VM,它不属于任何项目,也不在您的默认 VPC 中。它只是gcloud
为了方便您而创建和预配置的。如果您想登录到特定 VM,最好使用SSH
云控制台 VM 列表或命令中 VM 规格旁边的按钮[gcloud compute ssh][3]
。
如果您只是在云外壳虚拟机中选择另一个项目,您仍然登录到此虚拟机,它只会告诉gcloud
实用程序之后发出的任何命令gcloud config set project my-proj-name
都会影响该项目my-proj-name
。