2015-08-08 77 views
10

我跟着官方Kubernetes installation guide在Fedora 22服务器上安装Kubernetes。在安装过程中,所有事情都可以解决。无法在Kubernetes中创建Pod¶

安装完成后。我可以看到我的所有节点都正在运行并连接到主节点。但是,根据101 guide,我尝试创建一个简单的吊舱时仍然失败。从服务器

$ create -f pod-nginx.yaml 

错误:当创建“荚nginx.yaml”错误:布丁“nginx的”禁止:发现服务帐户默认/默认没有API的令牌,重试后令牌被自动创建并加入到服务帐户

我是否需要创建API令牌?如果是,如何?

我使用了这个问题,但没有任何有用的结果。看起来我是这个星球上唯一遇到问题的人。

剂量任何人都有这个想法?

回答

14

ServiceAccount准入控制器可防止在其名称空间中的服务帐户初始化之前创建窗格。

如果控制器管理器使用适当的参数启动,它将自动使用默认服务帐户填充名称空间,并自动为该服务帐户创建API令牌。

它看起来像该指南需要与此评论中的信息进行更新: https://github.com/GoogleCloudPlatform/kubernetes/issues/11355#issuecomment-127378691

+0

非常感谢你,乔丹。这个对我有用。 –

+0

非常感谢乔丹。它也适用于我。 – zczhuohuo

12
  1.  

    openssl genrsa -out /tmp/serviceaccount.key 2048 
    
  2.  

    vim /etc/kubernetes/apiserver: 
    KUBE_API_ARGS="--service_account_key_file=/tmp/serviceaccount.key" 
    
  3.  

    vim /etc/kubernetes/controller-manager 
    KUBE_CONTROLLER_MANAGER_ARGS="--service_account_private_key_file=/tmp/serviceaccount.key" 
    systemctl restart kube-controller-manager.service 
    
+1

我需要做什么?在主/主服务器上还是在所有节点/小型服务器上?我遵循了这些步骤,但它不会改变任何东西(Debian Jessie(8.3)上的Kubernetes 1.2.0)。我仍然收到错误消息。 – BlaM

+1

不知道这些命令适用于什么环境,但在我的情况下,我需要查看/ etc/default/kube-controller-manager和/ etc/default/kube-apiserver文件(基于init.d的服务启动)指定service_account_(private_)key_file。 – BlaM

+1

它为我工作..我在主人身上执行了这些步骤 –