生成的serviceaccount令牌被kube-apiserver

时间:2015-09-23 12:36:34

标签: kubernetes

我有一个成功运作的群集,没有任何问题,我试图复制它。它基本上工作,除了一个问题 - apiserver生成的令牌无效,错误消息:

6 handlers.go:37] Unable to authenticate the request due to an error: crypto/rsa: verification error

我的api服务器启动了以下参数:

kube-apiserver --address=0.0.0.0    --admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota --service-cluster-ip-range=10.116.0.0/23 --client_ca_file=/srv/kubernetes/ca.crt --basic_auth_file=/srv/kubernetes/basic_auth.csv --authorization-mode=AlwaysAllow  --tls_cert_file=/srv/kubernetes/server.cert --tls_private_key_file=/srv/kubernetes/server.key --secure_port=6443 --token_auth_file=/srv/kubernetes/known_tokens.csv  --v=2 --cors_allowed_origins=.* --etcd-config=/etc/kubernetes/etcd.config --allow_privileged=False

我想我错过了一些东西但却找不到具体的东西,任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:3)

所以,显然控制器管理器使用的server.key是错误的。 根据{{​​3}}令牌由控制器管理器生成。

当我正在复制我的所有配置时,我不得不更改ipaddress并因此而不得不更改证书。但是控制器管理器以“旧”证书开始,并且在更改之后创建了错误的密钥,因为server.key。

答案 1 :(得分:0)

你可以在下面看到api服务器的标志,它对我有用。检查一下。

--insecure-bind-address=${OS_PRIVATE_IPV4} 
--bind-address=${OS_PRIVATE_IPV4} 
--tls-cert-file=/srv/kubernetes/server.cert 
--tls-private-key-file=/srv/kubernetes/server.key 
--client-ca-file=/srv/kubernetes/ca.crt 
--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota 
--token-auth-file=/srv/kubernetes/known_tokens.csv 
--basic-auth-file=/srv/kubernetes/basic_auth.csv 
--etcd_servers=http://${OS_PRIVATE_IPV4}:4001 
--service-cluster-ip-range=10.10.0.0/16 
--logtostderr=true 
--v=5