k8s api服务器-提供用户帐户授权

时间:2020-10-05 01:22:59

标签: kubernetes minikube kube-apiserver

我目前正在使用Minikube和k8s api服务器。我可以使用默认服务帐户(将默认令牌解码为base64并作为授权标头提供)来授权HTTP请求,但是我正努力与新创建的用户进行相同的操作。

我已经为用户创建了所有相关的.crt,.key文件以及角色,角色绑定,clusterRole,clusterRoleBinding权限。

我以前曾尝试将/Users/ionush/k8s/auth/gameadmin.crt解码为base64并添加到授权标头中,并设置minikube start --extra-config=apiserver.client-ca-file=/Users/ionush/k8s/auth/gameadmin.crt,但这没有用。如何通过HTTP验证用户身份?

这是我的.kube / config文件:

apiVersion: v1
clusters:
- cluster:
    certificate-authority: /Users/ionush/.minikube/ca.crt
    server: https://192.168.64.7:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    user: gameadmin
  name: game-context
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: gameadmin
  user:
    client-certificate: /Users/ionush/k8s/auth/gameadmin.crt
    client-key: /Users/ionush/k8s/auth/gameadmin.key
- name: minikube
  user:
    client-certificate: /Users/ionush/.minikube/profiles/minikube/client.crt
    client-key: /Users/ionush/.minikube/profiles/minikube/client.key

1 个答案:

答案 0 :(得分:1)

以下是使用curl通过kube-api服务器进行身份验证的示例

curl --cacert /Users/ionush/.minikube/ca.crt --cert /Users/ionush/k8s/auth/gameadmin.crt --key /Users/ionush/k8s/auth/gameadmin.key https://192.168.64.7:8443/api/v1
相关问题