web-dev-qa-db-ja.com

Google Container(GKE)上のKubernetesで特権コンテナを許可する

Google Cloud Developer'sConsoleのクラスターバージョン0.19.3からGoogleContainer Engine(GKE)を介してデプロイされたKubernetesクラスターを使用しています。 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

デフォルトのGoogleContainer Engine構成では特権コンテナが許可されていないため、KubernetesAPIはすぐに次のエラーを返します。

サーバーからのエラー:ポッド "nfs-server"が無効です:spec.containers [0] .securityContext.privileged:forbidden '<*>(0xc20a027396)true'

Google Container Engineクラスタで特権コンテナを許可するにはどうすればよいですか?

11
Caleb

更新:特権モードは、Google ContainerEngineで利用できるようになったKubernetesの1.1リリースからデフォルトで有効になりました。


現在、特権コンテナ(この例ではNFSサーバーを含む)を実行することは、Google ContainerEngineでは実行できません。これを解決する方法を検討しています(クラスターの作成時にフラグを追加して特権コンテナーを許可する、特権コンテナーをアドミッションコントロールの一部にするなど)。今のところ、特権コンテナーを実行する必要がある場合は、GCEプロバイダーを使用して独自のクラスターを起動する必要があります。

8
Robert Bailey

これ 投稿 それについて話します(最後を見てください)。

0