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

server/2024/9/24 13:26:12/

- 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 flannelflannel        kubectl describe clusterrole flannelName:         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博客


http://www.ppmy.cn/server/24700.html

相关文章

pgvector扩展在IvorySQL Oracle兼容模式下的应用实践

向量数据库是生成式人工智能(GenAI)的关键组成部分。作为PostgreSQL的重要扩展&#xff0c;pgvector支持高达16000维的向量计算能力&#xff0c;使得PostgreSQL能够直接转化为高效的向量数据库。 IvorySQL基于PostgreSQL开发&#xff0c;因此它同样支持添加pgvector扩展。在Ora…

【LangChain系列 14】语言模型概述

本文速读 LLMs 对话模型 LangChain集成了两种语言模型&#xff1a; LLM&#xff1a;输入文本&#xff0c;返回文本 对话模型&#xff1a;基于LLM&#xff0c;输入Message列表&#xff0c;返回一条Message LLM和对话模型之间有着细微且重要的不同。在LangChain中&#xff0…

【C++刷题】优选算法——动态规划第六辑

【模板】01背包 状态表示:dp1[i][j]: 表示从前i个物品中挑选总体积不超过j的物品&#xff0c;在所有的选法中&#xff0c;能挑选出的最大价值dp2[i][j]: 表示从前i个物品中挑选总体积正好等于j的物品&#xff0c;在所有的选法中&#xff0c;能挑选出的最大价值 优化:利用滚动数…

spring的CacheManager

org.springframework.cache.CacheManager是Spring框架中的一个接口&#xff0c;用于管理应用程序中的缓存。它提供了一种抽象的方式来访问缓存&#xff0c;使得应用程序可以使用不同的缓存实现&#xff08;如内存、Redis等&#xff09;而不需要修改代码。 在Spring Boot项目中…

海外私人IP和原生IP有什么区别,谁更有优势?

海外私人IP和原生IP在定义、特性以及应用场景上均存在显著的差异&#xff0c;各自的优势也因其特性而异。下面将详细探讨这两者的区别及各自的优势。 海外私人IP通常指的是一种位于海外的网络服务&#xff0c;它允许用户通过代理服务器访问海外网络&#xff0c;获取并使用位于…

使用递归方式实现多级菜单树 Java实现

在Java中&#xff0c;使用递归来实现菜单树通常涉及到遍历原始菜单列表&#xff0c;并为每个菜单项找到其对应的子菜单项。这个过程可以通过创建一个方法来完成&#xff0c;该方法会检查每个菜单项的parentId&#xff0c;并将其作为子菜单项添加到具有相应id的父菜单项的childr…

面试中算法(最小栈)

最小栈的实现 实现一个栈&#xff0c;该栈有出栈(pop&#xff09;、入栈(push)、取最小元素(get_min) 。要保证时间复杂度都是O (1&#xff09;。 第1步&#xff1a;设原有的栈叫作栈A&#xff0c;额外的“备胎”栈B&#xff0c;用于辅助栈A。 当第1个元素进入栈A时&#xff0c…

小长假来临,企业借助巡检系统做好安全巡查工作

节前节后是安全隐患事故多发期&#xff0c;小长假来了&#xff0c;企业面临着员工离岗、生产活动减少等特殊情况&#xff0c;这可能导致一些安全隐患被忽视。因此&#xff0c;借助巡检系统做好全面安全巡查工作显得尤为重要。巡检系统可以帮助企业实现巡检工作的规范化、标准化…