首页 > 其他分享 >四、掌握ArgoCD:安装、Gitlab集成和RBAC配置以实现无缝持续部署

四、掌握ArgoCD:安装、Gitlab集成和RBAC配置以实现无缝持续部署

时间:2024-01-24 15:05:19浏览次数:30  
标签:get admin argocd Gitlab ArgoCD RBAC applications role allow

Gitlab 集成

 

 

 

 然后点击提交(save application), 将得到应用创建后的信息:

 

 

注册完成后, 我们可以看到应用现在只有0个Clients, 即还没有任何实例作为这个Application的实例进行认证:

但不管怎么说, 应用注册这一步我们算成功完成啦! Give Me Five~

用如下命令编辑 configMap

kubectl edit configmap argocd-cm -n argocd

这里因为我将ArgoCD与个人Gitlab帐户集成,因此不需要org部分。

data:
  dex.config: |
    connectors:
      # GitHub example
      - type: gitlab
        id: gitlab
        name: Gitlab
        config:
          clientID: d67495a7d2d6d4f756040a65b2726197e603a1edfc1a615c70d915d383570a7d
          clientSecret: 60fba8381473ba78841499133b2f24691a2dd8c00605412a38d89f38b15a56b9
          baseURL: http://101.43.196.155:32080 #GILAB 地址
          redirectURI: https://101.43.196.155:32198/api/dex/callback #argocd地址
          # orgs:
          # - name: your-github-org
  url: https://101.43.196.155:32198 # argocd 地址

保存后,更改应该自动生效。但是在登录的时候出现了一些问题 invalid session token: failed to verify signature: failed to verify id token signature

我们需要重启 argocd-server deployment.

kubectl rollout restart deploy argocd-server -n argocd  

 

打开浏览器再次进入

 

 

然后返回 gitlab 查看 有一个账户已经登录成功

 此时 登录 argocd 单击 LOG IN VIA GITLAB  无需密码可直接登录

 

 

RBAC

虽然现在可以登录,但是权限不够,我们需要参考 官方文档 配置RBAC权限。

不幸的是,Dex 不能将组织作为组映射/导出到ArgoCD中,只能将用户电子邮件映射到ArgoCD中。对我来说,scope参数是:'[email,groups]',所以我可以通过电子邮件将用户分配给一个角色。

kubectl edit configmap argocd-rbac-cm -n argocd

# add this part
apiVersion: v1
data:
  policy.csv: |
    g, [email protected], role:admin
  policy.default: role:readonly
  scopes: '[email, group]'

 如果您是组织用户,请遵循如下所示的类似步骤。

data:
  scopes: '[email, group]'
  policy.default: role:readonly
  policy.csv: |
    p, role:readonly, applications, get, */*, allow
    p, role:readonly, logs, get, */*, allow
    p, role:readonly, applications, action/apps/Deployment/restart, */*, allow
    
    p, role:admin, applications, get, */*, allow
    p, role:admin, applications, update, */*, allow
    p, role:admin, applications, delete, */*, allow
    p, role:admin, applications, sync, */*, allow
    p, role:admin, applications, override, */*, allow
    p, role:admin, applications, action/*, */*, allow
    p, role:admin, logs, get, */*, allow
    p, role:admin, clusters, get, *, allow
    p, role:admin, projects, get, *, allow
    p, role:admin, repositories, get, *, allow
    p, role:admin, certificates, get, *, allow


    g, your-org:developers, role:readonly
    g, your-org:devops, role:admin

developersanddevopsare group in your orgnazation github.

参考

https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/?source=post_page-----627674c3d747--------------------------------#dex

 

感谢阅读,如果您觉得本文的内容对您的学习有所帮助,您可以打赏和推荐,您的鼓励是我创作的动力。

 

标签:get,admin,argocd,Gitlab,ArgoCD,RBAC,applications,role,allow
From: https://www.cnblogs.com/nb-blog/p/17984651

相关文章

  • 如何从 Jira 成功迁移到极狐GitLab,看这个就够了!
    Atlassian之前表示,到2024年2月会全面终止对于其服务器端产品的支持。随着JiraServer的生命周期即将结束,众多组织都在考虑将其敏捷项目管理工具从Jira迁移到极狐GitLab,以便简化整个组织的流程。让团队使用新的敏捷规划工具似乎是令人畏惧的,但是这种改变是值得的。极狐Gi......
  • Gitlab端口变更
     自己云服务器的80和8080端口都已经被使用,只能被迫修改gitlab监听的端口external_url'http://172.17.30.23:8077'#这里一定要加上http://nginx['listen_port']=8077gitlab_rails['smtp_enable']=truegitlab_rails['smtp_address']="smtp.qq.com&......
  • 基于Bitnami gitlab OVA包的gitlab 环境搭建
    前言最近在折腾gitlab,本篇记录搭建的过程方便以后查找环境Windowsserver+VMware安装为方便本次我们直接采用Bitnami的VOA安装包(VOA格式可同时兼容VirtualBox和VMware),可以直接在虚拟机导入即可。安装包位于这里。打开VMwareWorkstation,File->Open,选择刚刚下载好......
  • Windows环境下的Gitlab的环境搭建
    描述:windows下用VitrualBox搭建gitlab环境因为gitlab不支持windows,所以要在windows下使用,就必须借助虚拟机(vitualBox,Vmware),或者Docker。1)下载虚拟机镜像:https://bitnami.com/stack/gitlab下载后得到一个ova格式的文件,它是虚拟机镜像文件。bitnami提供的是搭建了gitlab环境的d......
  • gitlab数据备份、恢复和迁移
    自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上。备份、迁移、恢复、升级过程如下一、gitlab备份备份前gitlab的项目如图所示 1.1修改仓库存储位置gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data......
  • 企业级GitLab在Docker部署使用
    一、部署gitlab这里使用的是Centos8,安装Docker环境,这里不说了,参考:https://www.cnblogs.com/wei325/p/15139701.htmlgitlab有ce版和ee版,ce版为免费版本;ee版为企业版本,需要收费;这里用ce版。1)拉取Gitlab镜像dockerpullgitlab/gitlab-ce  2)启动Docker先建3个目......
  • gitlab-runner实现gitlab上的代码自动打包发布——windows版
    gitlab中的项目,每次打包发布都比较麻烦,需要自己本地打包然后传输到服务器,再启动。考虑实现一种自动打包发布的方法。1)考虑使用jenkins实现,但是需要jdk11(当前环境不能升级),还有一些插件(这个虽然可以离线安装,但是需要高版本的jenkins,相对应的又依赖高版本的jdk)2)考......
  • Jira 母公司全面停服 Server 产品,用户如何迁移至极狐GitLab
    Jira母公司即将全面停服旗下部分Server端产品的销售和服务支持!Jira母公司Atlassian在几年前确定了公司的战略为“全面上云”,为此做出了停止Server产品的销售和支持。整个时间线从2021年2月2日开始,直到今年2月15日,彻底停止Server端产品的服务支持。Server......
  • gitlab账号密码忘记(docker部署)
    1.进入容器dockerexec-itgitlabexec 2.修改密码sugitgitlab-railsconsole-eproduction//可以带上-e参数查看版本,不同版本修改用户密码有细微差别u=User.where(id:1).firstu.password='Qwer@1234'u.save[root@DevOPS~]#dockerexec-itgitlabbashroot@a3674......
  • GitLab CI/CD 自动化部署全流程
    GitLabCI/CD自动化部署全流程:https://blog.csdn.net/weixin_43025823/article/details/125325480?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125325480-blog-131010258.235^v40^pc_relevant_3m_sort_dl_base2&spm=1001.......