Ubuntu Kubernetes:Linux docker多节点集群中的特权容器
(我已经查看了一些其他线程,但是很明显,特权模式现在在最新的代码中得到了支持,所以我想知道我是否遇到了错误。) 我有两台物理服务器:都运行Linux(ubuntu),昨天从github获得了最新的kubernetes代码 我正在运行Ubuntu Kubernetes:Linux docker多节点集群中的特权容器,ubuntu,containers,kubernetes,Ubuntu,Containers,Kubernetes,(我已经查看了一些其他线程,但是很明显,特权模式现在在最新的代码中得到了支持,所以我想知道我是否遇到了错误。) 我有两台物理服务器:都运行Linux(ubuntu),昨天从github获得了最新的kubernetes代码 我正在运行docs/入门指南/docker multinode/master.sh(&worker.sh) 在主节点上: $ kubectl create -f examples/nfs/nfs-server-rc.yaml The ReplicationController
docs/入门指南/docker multinode/master.sh
(&worker.sh
)
在主节点上:
$ kubectl create -f examples/nfs/nfs-server-rc.yaml
The ReplicationController "nfs-server" is invalid.
spec.template.spec.containers[0].securityContext.privileged: forbidden '<*>(0xc208389770)true'
主配置:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"2+", GitVersion:"v1.2.0-alpha.5.833+2e5da8b881e2f5", GitCommit:"2e5da8b881e2f5b6dfb66653acf4aaa1ca1f398e", GitTreeState:"clean"}
Server Version: version.Info{Major:"1", Minor:"1", GitVersion:"v1.1.3", GitCommit:"6a81b50c7e97bbe0ade075de55ab4fa34f049dc2", GitTreeState:"clean"}
$ docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:12:04 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:12:04 UTC 2015
OS/Arch: linux/amd64
您需要为
kubelet
和kube-apiserver
设置--allow privileged=true
。它看起来像master.sh
只在kubelet
中设置它。您可以修改文件/cluster/images/hyperkube/master multi.json
,为apiserver设置--allow privileged=true
(应该在第21到30行左右)并重建hyperkube
图像 您需要为kubelet
和kube-apiserver
设置-allow privileged=true
。它看起来像master.sh
只在kubelet
中设置它。您可以修改文件/cluster/images/hyperkube/master multi.json
,为apiserver设置--allow privileged=true
(应该在第21到30行左右)并重建hyperkube
图像 从kubernetes v1.1开始,pod中的任何容器都可以启用特权模式,使用容器规范的SecurityContext上的特权标志
要启用容器规范的特权模式嵌套privileged:true
insidesecurityContext
declaration,请执行以下操作:
"securityContext": {
"privileged": true
正如Janet所说,为kubelet和kube apiserver设置--allow privileged=true
,然后重新启动它们:
sudo /etc/init.d/kubelet restart
sudo /etc/init.d/kube-apiserver restart
并使用
ps-ef | grep kube
命令验证标志是否已更改。从kubernetes v1.1开始,pod中的任何容器都可以使用容器规范的SecurityContext上的特权标志启用特权模式
要启用容器规范的特权模式嵌套privileged:true
insidesecurityContext
declaration,请执行以下操作:
"securityContext": {
"privileged": true
正如Janet所说,为kubelet和kube apiserver设置--allow privileged=true
,然后重新启动它们:
sudo /etc/init.d/kubelet restart
sudo /etc/init.d/kube-apiserver restart
并使用
ps-ef | grep kube
命令验证标志是否已更改。不幸的是,这没有帮助:更改multi-master.json。有趣的是,我没有运行多节点linux示例,而是运行了hack/local-up-cluster.sh独立设置。错误略有不同:/usr/src/kubernetes/examples/nfs#kubectl create-f nfs-server-rc.yaml复制控制器“nfs服务器”无效。spec.template.spec.containers[0].securityContext.privileged:禁止:策略不允许。
启动本地群集时运行ALLOW\u privileged=true hack/local up cluster.sh
。原始问题没有解决。但是,多亏了你,第二个例子,即独立设置成功了。原始问题应该被视为bug吗?如果有人能复制它,我将不胜感激。谢谢。我也收到了同样的错误。我正在运行多节点集群和2个仆从。不幸的是,这没有帮助:更改multi-master.json。有趣的是,我没有运行多节点linux示例,而是运行了hack/local-up-cluster.sh独立设置。错误略有不同:/usr/src/kubernetes/examples/nfs#kubectl create-f nfs-server-rc.yaml复制控制器“nfs服务器”无效。spec.template.spec.containers[0].securityContext.privileged:禁止:策略不允许。
启动本地群集时运行ALLOW\u privileged=true hack/local up cluster.sh
。原始问题没有解决。但是,多亏了你,第二个例子,即独立设置成功了。原始问题应该被视为bug吗?如果有人能复制它,我将不胜感激。谢谢。我也得到了同样的错误。我正在运行多节点集群和2个仆从。