Ubuntu Kubernetes:Linux docker多节点集群中的特权容器

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

(我已经查看了一些其他线程,但是很明显,特权模式现在在最新的代码中得到了支持,所以我想知道我是否遇到了错误。)

我有两台物理服务器:都运行Linux(ubuntu),昨天从github获得了最新的kubernetes代码

我正在运行
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
inside
securityContext
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
inside
securityContext
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个仆从。