K8S - 各节点的kube-flannel-ds-amd64-xxxxx不能正常启动的问题

- kubectl get pods -A -o wide

- 查看日志发现

  • pods "kube-flannel-ds-amd64-xxxxx" is forbidden: User "system:serviceaccount:kube-system:flannel" cannot get resource "pods" in API group "" in the namespace "kube-system"

  • 也就是说flannel用户不能访问kube-system空间下的pods资源

  • 但kube-flannel空间下的pod都正常,说明这个集群角色绑定需要再把kube-system空间再绑一下即可

  • kubectl describe clusterrolebinding -A

    kubectl get clusterrole -A |grep flannel

    flannel

    kubectl describe clusterrole flannel

    Name: flannel
    Labels: k8s-app=flannel
    Annotations: <none>
    PolicyRule:
    Resources Non-Resource URLs Resource Names Verbs
    --------- ----------------- -------------- -----
    nodes [] [] [get list watch]
    pods [] [] [get]
    clustercidrs.networking.k8s.io [] [] [list watch]
    nodes/status [] [] [patch]

  • 查到有一个clusterrole=flannel 集群角色,直接给他们绑定即可

    • kubectl create clusterrolebinding add-on-flannel
    • --clusterrole=flannel
    • --serviceaccount=kube-system:flannel

kubectl describe clusterrolebinding -A

  • #新添加的clusterrolebinding将flannel用户绑定到了kube-system空间,解决上面的异常

  • Name: add-on-flannel

  • Labels: <none>

  • Annotations: <none>

  • Role:

  • Kind: ClusterRole

  • Name: flannel

  • Subjects:

  • Kind Name Namespace

  • ServiceAccount flannel kube-system

  • #之前有一个clusterrolebinding将flannel用户绑定到了kube-flannel空间

  • Name: flannel

  • Labels: k8s-app=flannel

  • Annotations: <none>

  • Role:

  • Kind: ClusterRole

  • Name: flannel

  • Subjects:

  • Kind Name Namespace

  • ServiceAccount flannel kube-flannel

  • 三个节点上的kube-flannel-ds-amd64-xxxxx容器过会都自动启动了

参考:k8s--普通k8s集群---使用rolebinding限制或增加访问命名空间以及可执行操作权限-CSDN博客

相关推荐
Harm灬小海3 分钟前
【云计算学习之路】学习Centos7系统-Linux软件包管理
linux·运维·服务器·学习·云计算·yum·rpm
caicai_xiaobai6 分钟前
Ubuntu上Git安装步骤
linux·git·ubuntu
平行云16 分钟前
实时云渲染平台数据通道,支持3D应用文件上传下载分享无缝交互
linux·unity·云原生·ue5·gpu算力·实时云渲染·像素流送
谪星·阿凯29 分钟前
Linux提权全攻略博客
linux·运维·服务器·网络安全
风度前端31 分钟前
阿里云宝塔面板部署https证书
linux·后端·https
Yeats_Liao32 分钟前
物联网接入层技术剖析(二):epoll到底是怎么工作的
java·linux·网络·物联网·信息与通信
日取其半万世不竭38 分钟前
OpenCost:Kubernetes 成本监控,开源的云资源费用分析
容器·kubernetes·开源
Donk_6741 分钟前
什么是虚拟化
linux·运维
Shadow(⊙o⊙)41 分钟前
Shell进程替换,自定义Shell解释器——字符串库函数灵活操作!
linux·运维·服务器·开发语言·c++·学习
funnycoffee12343 分钟前
华为S5736交换机3层ECMP负载方式
linux·服务器·数据库