无法在 Kubernetes 中创建 Pod

Not Able To Create Pod in Kubernetes

我跟着官方Kubernetes installation guide在Fedora 22服务器上安装了Kubernetes。安装期间一切正常。

安装后。我可以看到我所有的节点都已启动-运行 并连接到主节点。但是,根据 101 guide.

,当我尝试创建一个简单的 pod 时,它一直失败
$ create -f pod-nginx.yaml 

来自服务器的错误:创建 "pod-nginx.yaml" 时出错:Pod "nginx" 被禁止:未找到服务帐户 default/default 的 API 令牌,自动找到令牌后重试创建并添加到服务帐户

我需要创建一个 API 令牌吗?如果是,如何?

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

有人对此有想法吗?

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

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

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

  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