为什么我在另一个集群中看到来自另一个 GCP Kubernetes 集群的文件?

Why do I see files from another GCP Kubernetes cluster in a different cluster?

我正在尝试学习 Google Cloud 并且对它很陌生。

我在 GCP 中创建了 1 个项目:project1

然后我在 project1 中创建了一个名为 p1-cluster1 的 Kubernetes 集群。在此集群中,我单击 Connect 按钮,然后在 GCP 页面上打开了一个终端。我在 /home/me 下创建了一个名为 development 的新目录。我在 /home/me/development 下开发了一个个人项目,所以我现在在这里有一堆代码。

我决定开发第二个个人项目。为此,我在 GCP 中创建了一个名为 project2 的新项目。然后创建了一个名为 p2-cluster2 的新 Kubernetes 集群。当我连接到这个集群时,一个终端 window 打开,我自动结束在我的主文件夹 /home/me。我希望看到一个空文件夹,但我却看到了我在 project1p1-cluster1[=] 中创建的 development 文件夹41=].

为什么我在另一个项目(和集群)中看到另一个项目(和另一个集群)的 contents/files?难道我做错了什么?如果这是正常的,创建不同的项目有什么好处?

我可以创建一个名为 development_2 的新文件夹。但是,如果我在 development 文件夹下工作时不小心破坏了东西(即操作系统)怎么办?我是否也破坏了 development_2 文件夹下的项目?

另外,如果我在 2 个不同的项目中同时 运行 2 个任务,它们是否会相互竞争系统资源(即内存和 CPU)?

这非常令人困惑,我无法通过查看文档来弄清楚。我非常感谢在这个特定领域更有经验的人的帮助。

我假设您使用 Cloud shell 来“连接”到集群。这只是一种方便的方式,而不是使用您自己机器的 shell。您得到一台可用于开发的机器,而不是您的本地机器。

因此你有相同的文件和一些目录。它不在GKE Cluster上,而是从GKE的角度来看是一台“本地”机器。

为了在集群上实际执行某些操作,您必须使用具有 kube 上下文概念的 kubectl。如果你有多个集群,那么你需要多个 kube 上下文。

因此,如果您从 p1-cluster1“连接”它,您的 kube-context 将被设置为该集群。

有关详细信息,请参阅这些文章:

https://cloud.google.com/kubernetes-engine/docs/quickstart#launch

https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl

编辑:

所以当你这样做时

gcloud container clusters get-credentials p1-cluster1

在你的本地机器上,你可以调用上下文

kubectl get pods

在那个集群上。只有该命令在集群上执行。