kubernetes - Kubernetes 命名空间和 Linux 命名空间之间的区别?

标签 kubernetes linux-namespaces kubernetes-namespace

Kubernetes 命名空间到底是什么,它与 linux 命名空间(mnt、pid、net、ipc、uts、user、cgroup)有何不同?

最佳答案

与 linux 命名空间没有关系。Kubernetes 命名空间是一个逻辑构造,用于在多个用户之间隔离集群资源(如 pod、secrets)。您可以使用角色和角色绑定(bind)来应用 RBAC,它定义了谁可以在哪个命名空间中执行什么操作。这就是使用命名空间实现隔离的方式。在内部,集群资源存储在 ETCD(键值存储)中,kubernetes API 服务器允许或拒绝用户根据 RBAC 策略中定义的内容对集群资源执行 CRUD 操作的请求。有趣的是,如果你能以某种方式访问​​ ETCD,那么你就可以在所有命名空间中做任何事情。所以控制在 Kubernetes API Server 层。

关于kubernetes - Kubernetes 命名空间和 Linux 命名空间之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61628540/

相关文章:

kubernetes - 如何从 fluent-bit 日志记录中排除命名空间

Kubernetes:在 Kubernetes 中不同命名空间的入口中具有相同的主机名但不同的路径

Kubernetes 集群节点用尽/tmp 中的 inode

docker - 在 lxc proxmox 上安装并创建 Kubernetes 集群

linux - 如何让 dhclient 知道 namespace ?

c - 如何使用带有 CLONE_NEWUSER 标志的克隆系统调用测试用户命名空间

linux - 为什么取消共享(CLONE_NEWNET)需要 CAP_SYS_ADMIN?

kubernetes - 我可以将一个服务帐户连接到 Kubernetes 中的多个命名空间吗?

ssl - 在 GCP 中的 kubernetes 上启用 SSL

github - 将私有(private) GitHub 存储库挂载到 pod 的卷中