首页 > 解决方案 > Docker 容器对 Kubernetes 主节点的影响

问题描述

我目前正在使用 k8s 上的 Hyperledger Fabric v1.4 部署。生成的链码容器基本上是由运行在对等 pod 和 k8s 中的容器创建的,因此不了解和控制链码容​​器。在这样一个 Docker 容器与 k8s 一起运行并且 k8s 不知道特定 docker 容器的情况下,Docker 容器是否有可能以某种方式获得对 k8s 主 API 的访问权限并获得对整个 k8s 的访问权限因此集群?

我问这个问题的目的是弄清楚是否有一种方法可以使用 k8s 中任何 pod 外部的容器,通过未经授权访问 k8s 来对 k8s 集群造成任何不良影响。我谈到的链码容器是使用受信任的模板图像创建的,容器中唯一可能的恶意组件是用户提供的单个 golang、java 或 nodejs 脚本。所以我真正的问题是,“是否有可能使用这些用户脚本获得对 k8s 集群的未经授权的访问?” 我主要关注一个管理器 k8s 服务,比如 Azure Kubernetes 服务。

标签: dockerkuberneteshyperledger-fabrichyperledgerhyperledger-chaincode

解决方案


你的问题完全改变了意思,所以我会尝试重写答案。

您必须记住,pod默认情况下您正在运行的代码仅限于正在运行的代码namespace。如果你没有给它任何更高的权限。此外,代码没有以 root 身份运行。

您可以阅读Pod 安全策略为 Pod 或容器配置安全上下文

TLDR。只要您不给它任何特殊特权或权利,它就应该为您的集群节省很多。


推荐阅读