不能在Kubernetes中创建Pod

时间:2015-08-08 09:36:34

标签: kubernetes

我跟随官方Kubernetes installation guide在Fedora 22服务器上安装Kubernetes。在安装过程中,一切都适合我。

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

$ create -f pod-nginx.yaml 

服务器出错:创建“pod-nginx.yaml”时出错:Pod“nginx”被禁止:找不到服务帐户默认/默认的API令牌,在自动创建令牌并重新添加到服务帐户后重试< / p>

我是否需要创建API令牌?如果是,怎么样?

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

任何人都有这方面的想法吗?

2 个答案:

答案 0 :(得分:16)

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

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

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

答案 1 :(得分:13)

  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