请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

kubelet启动失败

老师。我的一个工作节点启动kubelet时2出错。我直到最后一步安装kube-dns的时候才发现异常。两个工作节点中有一个成功了,另一个在启动kubelet的时候出错。
图片描述

apiserver日志:
12月 21 00:09:06 server02 kube-apiserver[3061]: I1221 00:09:06.861243 3061 node_authorizer.go:129] NODE DENY: 192.168.1.103 &authorizer.AttributesRecord{User:(*user.DefaultInfo)(0xc427a95c80), Verb:“list”, Namespace:“kube-system”, APIGroup:"", APIVersion:“v1”, Resource:“configmaps”, Subresource:"", Name:"", ResourceRequest:true, Path:"/api/v1/namespaces/kube-system/configmaps"}
12月 21 00:09:06 server02 kube-apiserver[3061]: I1221 00:09:06.861383 3061 rbac.go:116] RBAC DENY: user “system:node:192.168.1.103” groups [“system:nodes” “system:authenticated”] cannot “list” resource “configmaps” in namespace “kube-system”

应该是角色绑定不对。我的版本是1.13.应该如何正确绑定呢?

正在回答

1回答

刘果国 2018-12-20 22:54:24

从日志看主要问题就是用户没有权限访问apiserver读取一些信息。kubelet有问题的话后面肯定是不可用的,建议按照教程重新配置一下kubelet,应该是设置用户相关的步骤操作错误了。

0 回复 有任何疑惑可以回复我~
  • 提问者 jacreater #1
    从kubelet开始重新配置就可以了吗?
    回复 有任何疑惑可以回复我~ 2018-12-20 22:55:59
  • 提问者 jacreater #2
    我查了下apiserver的日志。出现这个错误。
    12月 21 00:09:06 server02 kube-apiserver[3061]: I1221 00:09:06.861243    3061 node_authorizer.go:129] NODE DENY: 192.168.1.103 &authorizer.AttributesRecord{User:(*user.DefaultInfo)(0xc427a95c80), Verb:"list", Namespace:"kube-system", APIGroup:"", APIVersion:"v1", Resource:"configmaps", Subresource:"", Name:"", ResourceRequest:true, Path:"/api/v1/namespaces/kube-system/configmaps"}
    12月 21 00:09:06 server02 kube-apiserver[3061]: I1221 00:09:06.861383    3061 rbac.go:116] RBAC DENY: user "system:node:192.168.1.103" groups ["system:nodes" "system:authenticated"] cannot "list" resource "configmaps" in namespace "kube-system"
    像是角色绑定错误。我的版本是1.13。会不会是有不一样的地方?
    我尝试了
    kubectl create clusterrolebinding kubelet-node-clusterbinding --clusterrole=system:node --group=system:nodes
    kubectl create clusterrolebinding kubelet-node-clusterbinding --clusterrole=system:node --user=system:node:192.168.1.103
    kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
    仍然出错。我该如何正确绑定角色呢?
    回复 有任何疑惑可以回复我~ 2018-12-21 00:14:45
  • 刘果国 回复 提问者 jacreater #3
    不排除的版本的原因。可以这样试一下:
    1. 修改token文件中的用户为日志中提示的用户
    $ cat /etc/kubernetes/ca/kubernetes/token.csv
    8afdf3c4eb7c74018452423c29433609,kubelet-bootstrap,10001,"system:kubelet-bootstrap"
    2. 创建角色绑定时候把用户名也指定成提示那个用户
    #创建角色绑定(将用户kubelet-bootstrap与角色system:node-bootstrapper绑定)
    $ kubectl create clusterrolebinding kubelet-bootstrap \
             --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
    回复 有任何疑惑可以回复我~ 2018-12-21 14:27:05
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信