在 Google 容器 (GKE) 上允许 Kubernetes 中的特权容器

Allow Privileged Containers in Kubernetes on Google Container (GKE)

我正在使用通过 Google 容器引擎 (GKE) 从 Google 云开发者控制台部署的 Kubernetes 集群,集群版本 0.19.3。我想要 运行 一个特权容器,就像 Kubernetes NFS Server 示例中的那样:

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

由于默认Google容器引擎配置不允许特权容器,KubernetesAPI立即returns出现以下错误:

Error from server: Pod "nfs-server" is invalid: spec.containers[0].securityContext.privileged: forbidden '<*>(0xc20a027396)true'

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

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


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

这个post讲那个(看最后)