k8默认服务帐户令牌未找到
问题描述:
我有3个kube master正在运行和5个代理节点。在部署其中一个吊舱时,无法启动以下消息k8默认服务帐户令牌未找到
2017-03-23T01:47:25.164033000Z I0323 01:47:25.160242 1 main.go:41] Starting NGINX Ingress controller Version 0.7.0
2017-03-23T01:47:25.165148000Z F0323 01:47:25.164609 1 main.go:55] Failed to create client: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory.
如何为3个主设备生成证书?我试图在主之一,将文件复制到其它2台服务器,但KUBE-API服务器未能启动
./make-ca-cert.sh master1_ip IP:master2_ip ,IP:master3_ip,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local
/etc/kubernenets/apiserver config
KUBE_API_ARGS="--client-ca-file=/srv/kubernetes/ca.crt --tls-cert- file=/srv/kubernetes/server.cert --tls-private-key- file=/srv/kubernetes/server.key"
/etc/kubernetes/controller-manager
KUBE_CONTROLLER_MANAGER_ARGS="--root-ca-file=/srv/kubernetes/ca.crt -- service-account-private-key-file=/srv/kubernetes/server.key"
/srv/kubernetes files
kubernetes]# ls -ltr
total 28
-rw-rw----. 1 root root 1216 Mar 21 15:12 ca.crt
-rw-rw----. 1 root root 1704 Mar 21 15:12 server.key
-rw-rw----. 1 root root 4870 Mar 21 15:12 server.cert
-rw-------. 1 root root 1704 Mar 21 15:12 kubecfg.key
-rw-------. 1 root root 4466 Mar 21 15:12 kubecfg.crt
# kubectl get serviceaccounts
NAME SECRETS AGE
default 0 11d
答
您生成一个机器上的证书,然后复制到其他人。你所做的是正确的。
但是,当您生成服务器证书时,请确保您输入了机器的IP地址或主机名。
Here是一个很棒的教程,你可以按照这样做。这不是来自官方文档,而是官方文档的可信度。
答
正如surajd所说,确保您的apiserver证书中包含所有必需的主机名。包括服务ip只是为了确保。
当您复制证书时,您的主人是否已经在运行?尝试通过删除/重新创建令牌来刷新令牌。
此外,请确保您只使用1 ca来生成它们,因为所有主人都需要拥有相同的ca!
也许分享make-ca-cert.sh脚本,这样我可以看看。
云你提供你的kubernetes版本,主要是kubelet和kubectl? – Crazykev