如何创建受限制的 .kube/config 配置文件 (包含 RBAC 和用户账户设置)
要创建一个受限制的 .kube/config 配置文件,包括配置 RBAC 和设置用户账户(非 serviceAccount),可以按照以下步骤进行操作:
- 首先,确认你已经具有管理员权限,可以访问 Kubernetes 集群的控制平面。
- 使用 kubectl 命令行工具连接到 Kubernetes 集群。
这里的kubectl config use-context <context-name><context-name>是你要连接的集群的上下文名称。 - 创建一个新的 Namespace(命名空间),用于存储用户账户和配置信息。
这里的kubectl create namespace <namespace-name><namespace-name>是你要创建的命名空间名称。 - 创建一个新的 ServiceAccount(服务账户),用于管理 RBAC 权限。
这里的kubectl create serviceaccount <service-account-name> -n <namespace-name><service-account-name>是你要创建的服务账户名称,<namespace-name>是之前创建的命名空间名称。 - 创建一个新的 ClusterRoleBinding(集群角色绑定),将服务账户与 ClusterRole(集群角色)关联起来,以授予相应的权限。
这里的kubectl create clusterrolebinding <binding-name> --clusterrole=<cluster-role-name> --serviceaccount=<namespace-name>:<service-account-name><binding-name>是你要创建的绑定名称,<cluster-role-name>是你要分配给服务账户的集群角色的名称,<namespace-name>和<service-account-name>是之前创建的命名空间和服务账户的名称。 - 获取服务账户的 Token。
这将输出服务账户的 Token 值,需要记下该值。kubectl get secret -n <namespace-name> $(kubectl get serviceaccount <service-account-name> -n <namespace-name> -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 -d - 创建一个新的 kubeconfig 文件,并配置 RBAC 和用户账户信息。
这里的kubectl config set-credentials <user-name> --token=<token-value> kubectl config set-context <context-name> --user=<user-name> --cluster=<cluster-name> --namespace=<namespace-name> kubectl config use-context <context-name><user-name>是你要创建的用户账户名称,<token-value>是之前获取到的服务账户的 Token 值,<context-name>是你要创建的上下文名称,<cluster-name>是你要连接的集群名称,<namespace-name>是之前创建的命名空间名称。 - 确认配置文件是否生成成功。
这将显示当前的 Kubernetes 配置信息,包括之前创建的用户账户和上下文。kubectl config view
通过按照上述步骤操作,你可以创建一个受限制的 .kube/config 配置文件,其中包括 RBAC 配置和非 serviceAccount 用户账户的设置。
原文地址: https://www.cveoy.top/t/topic/qdDC 著作权归作者所有。请勿转载和采集!