5

我正在使用通過Google Cloud Developer Console(集羣版本0.19.3)中的Google Container Engine(GKE)部署的Kubernetes集羣。我想在Kubernetes NFS Server例如運行特權的容器,如:允許Google Container(KKE)上的Kubernetes中的特權容器

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 

由於默認的谷歌集裝箱引擎配置不允許特權的容器中,Kubernetes API imediately返回以下錯誤:

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

如何在我的Google容器引擎羣集中允許特權容器?

回答

6

更新:特權模式現在默認啓用,現在可在Google Container Engine中使用Kubernetes的1.1版本。


目前Google Container Engine中不允許運行特權容器(包括該示例中的NFS服務器)。我們正在尋找解決方法(在創建羣集時添加一個標誌以允許特權容器;使特權容器成爲準入控制的一部分;等等)。目前,如果您需要運行特權容器,則需要使用GCE提供程序啓動您自己的集羣。

+1

感謝您的更新,希望這會很快被添加! – Caleb

+0

現在Kubernetes是1.0,他們在這裏討論它的文檔:http://kubernetes.io/v1.0/examples/nfs/README.html(僅供參考) – cr125rider

+1

Google容器引擎仍然不支持特權模式與1.0 Kubernetes版本。一旦1.1版本發佈,特權模式默認啓用,它將支持特權模式。 –

0

post談論(看看結尾)。

+0

Github問題解決了針對Salt提供程序(gce,aws,vagrant)的自助部署解決方案的allow_privileged標誌,但不適用於Google Container Engine(gke),它是託管的Google Cloud Platform服務 – Caleb

+0

他需要allow_privileged = true設置集羣不是?我用你用GCE提供者解釋「你自己的集羣」的方式解決了這個問題。我錯了嗎 ? –

+0

kube-jenkins-imager項目可以通過這種方式獲得特權(https://github.com/GoogleCloudPlatform/kube-jenkins-imager/blob/master/cluster_up.sh)。這是一個gke項目。它確實運行了,但這些技巧現在似乎不起作用。 (羣集名稱的更改可能?) –

相關問題