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クラスタで特権コンテナを許可するにはどうすればよいですか?
更新:特権モードは、Google ContainerEngineで利用できるようになったKubernetesの1.1リリースからデフォルトで有効になりました。
現在、特権コンテナ(この例ではNFSサーバーを含む)を実行することは、Google ContainerEngineでは実行できません。これを解決する方法を検討しています(クラスターの作成時にフラグを追加して特権コンテナーを許可する、特権コンテナーをアドミッションコントロールの一部にするなど)。今のところ、特権コンテナーを実行する必要がある場合は、GCEプロバイダーを使用して独自のクラスターを起動する必要があります。
これ 投稿 それについて話します(最後を見てください)。