Kubernetes 命名空间在集群中代表什么?



集群中命名空间的物理表示形式是什么(我使用的是AWS),它是EC2服务器吗?

有人可以通过比喻什么是物理表示来帮助我理解:

  1. Namespace
  2. 豆荚
  3. 器皿

为了这个问题,让我们namespace 视为 linux 文件系统,忽略挂载目录的事实:

/srv => namespace-1
/var => namespace-2
/mnt => namespace-3
/bin => namespace-4
  • 所有这 4 个目录都属于同一个/
  • 在目录中,您可以拥有不同类型的文件
  • 如果这样做ls /srv则不会看到/var中的文件
  • 不同的用户可以对每个目录具有不同类型的权限

现在让我们从 k8s 命名空间的角度应用 4 点以上

  • 所有这 4 namespaces都属于同一个 kubernetes 集群
  • namespace内部,你可以拥有不同类型的 kubernetes 对象
  • 如果从 namespace-1 执行kubectl get deployments,则不会在 namespace-2 中看到部署
  • 不同的users可以在每个namespaces上具有不同类型的授权

简短的回答是 - 没有命名空间的物理表示。

namespace是一种高级抽象,它对 Kubernetes 资源进行逻辑分组和管理(例如,按环境开发/暂存/生产类型)。这有助于分隔资源,就像一个命名空间中的资源无法访问其他命名空间中的资源一样。

cluster是一组计算机。

container表示在其中一个群集节点中运行的真实 docker 容器。您可以假设虚拟映像在物理机内运行。

pod表示从单个部署资源(DeploymentReplicaSet等)部署的一组容器(通常为 1 个容器,但在 sidecar 部署的情况下可以更多)。

最新更新