argocd生成token,给账户添加apikey能力

登录argocd后,点开settings,如下

 点击Account

 用官网的方式安装默认会有一个admin的账号,我们注意到这里的能力只有login

 

 此时,点击下方的Generate New生成token时,会报错如下,意思是这个账号没有apikey能力

 

此时我们需要给我们的admin账号添加apikey能力,或者新建一个有apikey能力的账号,如果没有特别安全需求的话,这里建议直接给admin添加能力,不然还要给新建的账号去赋权限,不赋权限会导致后面请求api时报权限不足的错

 

我们在argocd的页面里是无法给admin账号添加能力的,此时需要我们去修改argocd的configmap,在这里会有一个argocd-cm.yml的configmap

note: 为了方便理解和直观的展示,下面都是从lens(k8s可视化图形管理工具,免费)里截的图

 方式一: 我们如果也用lens的话,可以直接在lens里改,点这个configmap,再点这个修改按钮

 在最后的data这里给admin账号加上apikey的能力,然后点击save & close 就好了,截图里的 accounts.apikeyAccount: apiKey,login 是博主测试时加的新账号,不需要的话可以不用加

data:
  accounts.admin: apiKey

 

加好之后再登录你的argocd,admin的apikey能力就加上了,此时你可以生成你的token了
note: 生成token之后请及时保存,token只有在刚生成的时候才展示一次,之后就查不到了,不过如果没保存的话也没关系,还可以再生成个新的

 

方式二: 用kubectl修改argocd-cm.yml

note: 这个需要你安装kubectl到本地并拥有你的k8s的权限,然后kubectl连上你的k8s

导出yaml文件到本地

kubectl get configmap argocd-cm -n argocd -o yaml > argocd-cm.yml

在yaml文件加上这个

data:
  accounts.admin: apiKey
 
像这样

 然后apply

kubectl apply -f argocd-cm.yml

 

齐活儿!

posted @ 2023-12-26 14:28  JakeLi1012  阅读(320)  评论(0)    收藏  举报