0

我目前正在使用 Minikube 和 k8s api-server。我能够使用默认服务帐户授权 HTTP 请求(将默认令牌解码为 base64 并作为授权标头提供),但我正在努力对我新创建的用户做同样的事情。

我已经为用户创建了所有相关的 .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
4

1 回答 1

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
于 2020-10-08T19:44:32.677 回答