我要实现的是:我需要基于服务帐户令牌生成KubeConfig
该群集未与Azure AD集成。
这是生成的Kubeconfig的样子:
apiVersion: v1
kind: Config
clusters:
- name: <cluster-name>
cluster:
certificate-authority-data: <cluster certificate>
server: https://[aks host]:443
contexts:
- name: <ctx>
context:
cluster: <cluster-name>
namespace: <ns>
user: <service account name>
current-context: <ctx>
users:
- name: <service account name>
user:
token: <service account token>
但是,我最终遇到此错误error: You must be logged in to the server (Unauthorized)
。
当我执行az aks get-credentials ...
时,生成的kubeconfig具有client-certificate-data
和client-key-data
。当然,如果将它们添加到上面生成的Kubeconfig中,则可以正常工作,但是仍然是管理员凭据。服务帐户绑定到具有一些RBAC规则的名称空间。
问题是:令牌是否不足以使Azure AKS进行身份验证?如果还不够,实现这一目标的另一种方法是什么?
P.S:我不想使用服务帐户类型的Azure DevOps Kubernetes服务连接,我只需要一个KubeConfig。
更新: 这是相同的问题:How to create a kubectl config file for serviceaccount
我错过了令牌-.-中的“ =”。那解决了我的问题