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博客

相关推荐
小鸡,啄米5 分钟前
centos9安装docker 配置docker代理
运维·docker·容器
oceanweave35 分钟前
【K8S学习之生命周期钩子】详细了解 postStart 和 preStop 生命周期钩子
学习·kubernetes
在肯德基吃麻辣烫40 分钟前
Netdata在Ubuntu环境下的安装与配置:构建实时系统监控与性能分析平台
linux·运维·ubuntu
愚戏师2 小时前
Linux复习笔记(六)shell编程
linux·笔记·shell
大胆飞猪2 小时前
Linux操作系统--进程间通信(system V共享内存)
linux
LunarCod3 小时前
Ubuntu使用Docker搭建SonarQube企业版(含破解方法)
linux·运维·服务器·ubuntu·docker·开源·sonarqube
betazhou3 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
什么半岛铁盒3 小时前
Linux信号的保存
linux·运维·网络
百锦再3 小时前
大数据技术的主要方向及其应用详解
大数据·linux·网络·python·django·pygame
2301_803554523 小时前
vim,gcc/g++,makefile,cmake
linux·编辑器·vim