创建k8s bear token并授权
在Kubernetes中,Bearer Token是一种身份验证凭证,用于授权访问API服务器。您可以通过以下步骤创建和授权一个Kubernetes Bearer Token:
- 
创建一个ServiceAccount:
kubectl create serviceaccount <serviceaccount-name> - 
授予ServiceAccount适当的权限:
- 创建一个Role或ClusterRole,并定义所需的权限:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: <role-name> namespace: <namespace> rules: - apiGroups: [""] resources: ["pods", "services", "deployments"] verbs: ["get", "list", "watch"] - 授予Role或ClusterRole给ServiceAccount:
kubectl create rolebinding <rolebinding-name> --role=<role-name> --serviceaccount=<namespace>:<serviceaccount-name> 
 - 创建一个Role或ClusterRole,并定义所需的权限:
 - 
获取ServiceAccount的Token:
kubectl get secret $(kubectl get serviceaccount <serviceaccount-name> -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode这将返回一个Base64编码的Bearer Token。
 - 
使用Token进行身份验证:
- 使用cURL:
curl https://<api-server>/api/v1/pods -H "Authorization: Bearer <token>" - 使用kubectl:
kubectl get pods --token=<token> 
 - 使用cURL:
 
请注意,以上步骤中的<serviceaccount-name>、<role-name>、<rolebinding-name>和<namespace>需要根据您的实际情况进行替换。此外,确保您具有足够的权限来创建和授权ServiceAccount、Role和RoleBinding
原文地址: https://www.cveoy.top/t/topic/ixLd 著作权归作者所有。请勿转载和采集!