当前位置: 首页 > news >正文

fluent-bit采集k8s(kubernetes-docker)容器日志

下面是一份补全后的文档,基于你上传的 YAML 内容,整理为 Markdown 说明文档,方便团队使用和复用。文中还特别标注了注意事项 ⚠️,帮助避免常见配置错误。


📦 Kubernetes 命名空间与权限配置文档

本文档示例演示了如何在 Kubernetes 集群中:

  1. 创建一个新的命名空间。
  2. 创建 ServiceAccount。
  3. 创建 ClusterRole 并分配权限。
  4. 通过 ClusterRoleBinding 绑定角色与账号。

🧭 1. 创建命名空间

apiVersion: v1
kind: Namespace
metadata:name: logging

⚠️ 注意

  • metadata.name 是命名空间名称,后续 ServiceAccount、RoleBinding 等资源都必须与之匹配。
  • 确保该命名空间在集群中尚未存在,否则会创建失败。
  • 建议为日志采集、监控、测试等场景单独建立命名空间,方便隔离和权限控制。

🧑‍💻 2. 创建 ServiceAccount

apiVersion: v1
kind: ServiceAccount
metadata:name: fluent-bitnamespace: logging

⚠️ 注意

  • namespace 字段要和上一步创建的命名空间一致。
  • ServiceAccount 用于 Pod 访问 Kubernetes API 时的身份标识。
  • 创建 ServiceAccount 后,可以通过 kubectl get serviceaccounts -n logging 查看是否成功。

🔐 3. 创建 ClusterRole(集群角色)

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: fluent-bit-read
rules:- apiGroups: [""]resources: ["pods", "namespaces", "nodes", "nodes/proxy"]verbs: ["get", "list", "watch"]

⚠️ 注意

  • ClusterRole 是集群级别的权限定义,适用于跨命名空间的访问。
  • apiGroups: [""] 表示访问的是 core API group。
  • resources 定义了可访问的资源类型,比如 Pod、Namespace、Node 等。
  • verbs 定义允许的操作类型(常见:getlistwatchcreateupdatedelete)。

🪝 4. 绑定 ClusterRole 与 ServiceAccount

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: fluent-bit-read
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: fluent-bit-read
subjects:- kind: ServiceAccountname: fluent-bitnamespace: logging

⚠️ 注意

  • roleRef.name 必须和上一步创建的 ClusterRole 名称一致。
  • subjects 中的 namespace 必须和 ServiceAccount 所在命名空间一致。
  • ClusterRoleBinding 是集群级绑定,因此 ServiceAccount 可以在对应命名空间中被 Pod 使用访问集群资源。

🧪 验证配置是否成功

执行以下命令检查:

kubectl get namespace
kubectl get serviceaccount -n logging
kubectl get clusterrole fluent-bit-read
kubectl get clusterrolebinding fluent-bit-read

或查看绑定详情:

kubectl describe clusterrolebinding fluent-bit-read

✅ 若能正常返回信息,即说明创建成功。


📝 建议与最佳实践

  • ✅ 使用 最小权限原则,只授予 ServiceAccount 必须的权限。

  • ✅ 对不同的功能组件使用不同的命名空间和 ServiceAccount。

  • ✅ 建议使用 Role + RoleBinding 优先(只在某个命名空间内生效),ClusterRole + ClusterRoleBinding 仅在需要跨命名空间访问时使用。

  • 🧰 使用 kubectl auth can-i 命令快速验证权限:

    kubectl auth can-i get pods --as=system:serviceaccount:logging:fluent-bit
    

总结
通过以上 4 步操作,我们实现了一个 logging 命名空间,并为日志采集工具(如 Fluent Bit)配置了只读权限,确保安全和灵活的资源访问。

http://www.jsqmd.com/news/16774/

相关文章:

  • 别看我只是一只羊
  • 2025年智能照明系统/模块厂家推荐排行榜,工厂/改建/车间/高亮/高光效/泛光/免维护/投光/大功率智能照明系统/模块公司精选!
  • Pr 入门
  • 10.19 —— (VP)2022icpc西安
  • 2025年储罐源头厂家推荐排行榜,钢衬塑/钢塑复合/化工/防腐/PE/盐酸/硫酸/聚丙烯/不锈钢/次氯酸钠储罐公司精选!
  • 2025.10.19——1绿1蓝
  • 2025年TYPE-C母座厂家推荐排行榜,防水/板上/沉板/立插/立贴/侧插/立式/插座/接口/插头/5A大电流/高速/TID认证公司精选
  • 26-wsl-nginx-chinese-encoding-fix
  • Redis 有序集合解析 - 指南
  • win10-减少广告的三个操作
  • 变量名越怪,JVM 越快?
  • 科技领域导师制度与因果分析方法解析
  • 小迪安全v2023学习笔记(九十六讲)—— 云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸 - 实践
  • 完整教程:使用Celery处理Python Web应用中的异步任务
  • Visual Studio Code 初步配置指南(Windows端)
  • 2025年UV光源厂家推荐排行榜,UV面光源,UV LED点光源,UV LED面光源,UV LED固化机公司精选
  • 课上积极回答加分
  • 深度学习基础从0到0.1
  • 比赛与好题记录(2025 9-10)
  • QOJ #12313. Three Indices 题解
  • 全面详解 C++std::vector用法指南
  • 022304105叶骋恺数据采集第一次作业
  • 智能预加载:基于用户行为和路由预测
  • 函数简单传入参数的汇编分析 - 指南
  • 2025年振动电机厂家推荐排行榜,新型/高频/防爆/低噪声/节能振动电机公司精选!
  • 数据类型转换以及内存溢出
  • 2025年UV胶点胶机厂家推荐排行榜,全自动/智能/视觉定位/纽扣/拉链头/拉片/商标/钥匙扣/五金/徽章/线圈/硅胶点胶机公司推荐!
  • 25-deepin-linux-wsl-nginx-installation
  • 美股数据接口对接指南:快速获取指数实时行情
  • 2025国际冷链运输推荐腾翼搏时,专业温控保障生物药品安全!