我跟随官方Kubernetes installation guide在Fedora 22服务器上安装Kubernetes。在安装过程中,一切都适合我。
安装完成后。我可以看到我的所有节点都在运行并连接到主节点。但是,根据101 guide,我尝试创建一个简单的pod时,它仍然失败。
$ create -f pod-nginx.yaml
服务器出错:创建“pod-nginx.yaml”时出错:Pod“nginx”被禁止:找不到服务帐户默认/默认的API令牌,在自动创建令牌并重新添加到服务帐户后重试< / p>
我是否需要创建API令牌?如果是,怎么样?
我用谷歌搜索了这个问题,但没有任何有用的结果。看起来我是这个星球上唯一遇到这个问题的人。
任何人都有这方面的想法吗?
答案 0 :(得分:16)
ServiceAccount准入控制器可防止在初始化其命名空间中的服务帐户之前创建容器。
如果使用适当的参数启动控制器管理器,它将使用默认服务帐户自动填充名称空间,并自动为该服务帐户创建API令牌。
看起来该指南需要使用此评论中的信息进行更新: https://github.com/GoogleCloudPlatform/kubernetes/issues/11355#issuecomment-127378691
答案 1 :(得分:13)
openssl genrsa -out /tmp/serviceaccount.key 2048
vim /etc/kubernetes/apiserver:
KUBE_API_ARGS="--service_account_key_file=/tmp/serviceaccount.key"
vim /etc/kubernetes/controller-manager
KUBE_CONTROLLER_MANAGER_ARGS="--service_account_private_key_file=/tmp/serviceaccount.key"
systemctl restart kube-controller-manager.service