以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!
如果对您有帮助,烦请点赞、关注、转发!如果您有其他想要了解的,欢迎私信联系我~
背景介绍
默认情况下,Kubernetes 集群原始的 Kubeconfig 文件,可以管理所有命名空间下的资源。但在实际情况中,如果 Kubernetes 集群被提供给多个项目组使用时,则需要将项目成员的资源管理权限限制在特定命名空间下,以防止其误操作不属于自己的项目环境。
本文将介绍一种只能管理特定命名空间的 Kubeconfig 文件的生成方法。
基本概念
Kubeconfig 是 Kubernetes 集群的配置文件,它允许用户通过命令行工具 kubectl 与 Kubernetes 集群进行交互。
Kubeconfig 文件默认位于用户家目录下的 .kube/config 文件,也可以指定其他路径。
Kubeconfig 文件是一个 YAML 格式的文件,它包含以下主要内容:
- clusters:包含集群信息,如 API 服务器地址
- users:包含用户认证信息,如用户名、密码或证书
- contexts:定义了集群、用户和命名空间的上下文组合,用于快速切换不同的环境配置
- current-context:指定当前使用的上下文
生成流程
1、创建密钥
代码语言:javascript复制openssl genrsa -out demo-user.key 2048
2、创建 CSR(证书签名申请)
代码语言:javascript复制openssl req -new -key demo-user.key -out demo-user.csr -subj "/CN=demo-user/O=demo-group"