Google cloud platform 允许在Google容器(GKE)上的Kubernetes中使用特权容器

Google cloud platform 允许在Google容器(GKE)上的Kubernetes中使用特权容器,google-cloud-platform,kubernetes,google-kubernetes-engine,Google Cloud Platform,Kubernetes,Google Kubernetes Engine,我正在使用一个Kubernetes集群,它是通过Google云开发者控制台的Google容器引擎(GKE)部署的,集群版本为0.19.3。我希望运行特权容器,如示例中所示: 由于默认的Google容器引擎配置不允许特权容器,Kubernetes API即时返回以下错误: 来自服务器的错误:Pod“nfs服务器”无效:spec.containers[0]。securityContext.privileged:禁止(0xc20a027396)true' 如何在我的Google容器引擎集群中允许特权容

我正在使用一个Kubernetes集群,它是通过Google云开发者控制台的Google容器引擎(GKE)部署的,集群版本为0.19.3。我希望运行特权容器,如示例中所示:

由于默认的Google容器引擎配置不允许特权容器,Kubernetes API即时返回以下错误:

来自服务器的错误:Pod“nfs服务器”无效:spec.containers[0]。securityContext.privileged:禁止(0xc20a027396)true'


如何在我的Google容器引擎集群中允许特权容器?

更新:从1.1版的Kubernetes开始,特权模式现在默认启用,该版本现在在Google容器引擎中可用



在Google容器引擎中,当前不可能运行特权容器(包括该示例中的NFS服务器)。我们正在寻找解决这个问题的方法(在创建集群时添加一个标志以允许特权容器;使特权容器成为准入控制的一部分;等等)。目前,如果需要运行特权容器,则需要使用GCE提供程序启动自己的集群

关于这一点的讨论(请看结尾)。

感谢您的更新,希望这篇文章能很快添加!现在Kubernetes是1.0,他们在这里的文档中讨论了这一点:(仅供参考)Google容器引擎仍然不支持Kubernetes 1.0版本的特权模式。一旦1.1版发布,它将支持特权模式,默认情况下特权模式是启用的。更新:特权模式现在默认启用,从Kubernetes的1.1版开始,该版本现在在Google容器引擎中可用。Github问题解决了将自己部署到Salt解决方案的allow_privileged标志提供程序(gce、aws、vagrant),但不适用于谷歌容器引擎(gke),这是一个托管的谷歌云平台服务。他需要allow_privileged=true来设置群集编号?我不理解你解释“你自己的集群使用GCE提供商”的方式。我错了吗?kube jenkins imager项目就是这样发展的。这是一个gke项目。它确实运行了,但这些技巧目前似乎不起作用。(更改集群名称?)GKE集群()完全由谷歌管理。Robert在Google工作,并确认他们正在努力公开allow_privileged选项,但它还不可用。我不明白,因为连接到节点,进入配置并切换allow_privileged=true在容器引擎上完成了工作。我做了一个月。但是似乎k8s的v0.19不再适用。有一个管理大师的介绍,打破了这个把戏。
apiVersion: v1
kind: Pod
metadata:
  name: nfs-server
  labels:
    role: nfs-server
spec:
  containers:
    - name: nfs-server
      image: jsafrane/nfs-data
      ports:
        - name: nfs
          containerPort: 2049
      securityContext:
        privileged: true