在Kubernetes中,Bearer Token是一种身份验证凭证,用于授权访问API服务器。您可以通过以下步骤创建和授权一个Kubernetes Bearer Token:

  1. 创建一个ServiceAccount:

    kubectl create serviceaccount <serviceaccount-name>
    
  2. 授予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>
      
  3. 获取ServiceAccount的Token:

    kubectl get secret $(kubectl get serviceaccount <serviceaccount-name> -o jsonpath='{.secrets[0].name}') -o jsonpath='{.data.token}' | base64 --decode
    

    这将返回一个Base64编码的Bearer Token。

  4. 使用Token进行身份验证:

    • 使用cURL:
      curl https://<api-server>/api/v1/pods -H "Authorization: Bearer <token>"
      
    • 使用kubectl:
      kubectl get pods --token=<token>
      

请注意,以上步骤中的<serviceaccount-name><role-name><rolebinding-name><namespace>需要根据您的实际情况进行替换。此外,确保您具有足够的权限来创建和授权ServiceAccount、Role和RoleBinding

创建k8s bear token并授权

原文地址: https://www.cveoy.top/t/topic/ixLd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录