OpenShift 4 之 GitOps(1)通过OpenShift GitOps Operator 安装 ArgoCD

89 篇文章 3 订阅
13 篇文章 1 订阅

OpenShift 4.x HOL教程汇总
说明:本文已经 在OpenShift 4.15

安装 ArgoCD

用 OpenShift GitOps Operator 安装 ArgoCD

  1. 用集群管理员登录OpenShift控制台,然后进入管理员视图。
  2. 在OperatorHub中找到“OpenShift GitOps”,然后接受缺省配置安装该Operator。
  3. 当安装完OpenShift GitOps Operator后会自动创建ArgoCD运行环境。可以在控制台的“开发者”视图中查看openshift-gitops安装的资源。
    在这里插入图片描述
  4. 执行命令获取ArgoCD的admin用户的缺省密码。
$ PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -ojsonpath='{.data.admin\.password}' | base64 -d)

也可在OpenShift 控制台中进入openshift-gitops项目中名为openshift-gitops-cluster的Secret,也可以看到admin.password中显示的密码。
在这里插入图片描述

  1. 在安装完GitOps Operator后会在OpenShift Console顶端的菜单中增加ArgoCD的链接,点击即可进入ArgoCD控制台。
    在这里插入图片描述
  2. 用admin和密码登录ArgoCD控制台。
    在这里插入图片描述

安装 ArgoCD 客户端

  1. 安装ArgoCD客户端
$ ARGO_VER=$(curl --silent "https://api.github.com/repos/argoproj/argo-cd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
$ sudo curl -L https://github.com/argoproj/argo-cd/releases/download/${ARGO_VER}/argocd-linux-amd64 -o /usr/local/bin/argocd
$ sudo chmod +x /usr/local/bin/argocd
  1. 登录ArgoCD
$ ARGOCD_URL=$(oc get route openshift-gitops-server -n openshift-gitops -o jsonpath='{.spec.host}')
$ argocd login --username admin --password ${PASSWD} --insecure ${ARGOCD_URL}
  1. 查看当前ArgoCD集群
$ argocd cluster list
SERVER                          NAME        VERSION  STATUS   MESSAGE
https://kubernetes.default.svc  in-cluster           Unknown  Cluster has no application and not being monitored.

创建新用户

  1. 修改 openshift-gitops 项目中名为 “openshift-gitops” 的 ArgoCD 对象。在 “spec” 区域增加 “extraConfig” 配置。
spec:
  extraConfig:
    accounts.user1: apiKey, login
  1. 确认在 openshift-gitops 项中名为 argocd-cm 的 ConfigMap 对象中已经有 accounts.user1 数据。
  2. 运行命令查看当前用户。
$ argocd account list
NAME   ENABLED  CAPABILITIES
admin  true     login
user1  true     apiKey, login
  1. 执行命令,修改 “user1” 的密码。
$ argocd account update-password --account user1 --new-password mypassword --current-password ${PASSWD}
  1. 可以用新创建的用户登录 ArgoCD 控制台。

用 ArgoCD 部署应用

创建目标项目

  1. 创建spring-petclinic项目并打标签,表明是该项目是由“openshift-gitops”管理。
$ oc new-project spring-petclinic
$ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops

注意:如果 namespace 没有上述特定 label,则后面 GitOps 同步时会提示权限错误。

创建ArgoCD应用

  1. 在ArgoCD控制台上点击“+ NEW APP”按钮。
  2. 在右滑页面提供以下配置,然后点击CREATE按钮。
    Application Name: spring-petclinic
    Project: default
    Sync Policy: Automatic
    Self-heal: checked
    Repository URL: https://github.com/siamaksade/openshift-gitops-getting-started
    Revision: HEAD
    Path: app
    Cluster URL: https://kubernetes.default.svc
    Namespace: spring-petclinic
    在这里插入图片描述
  3. 在ArgoCD送创建完应用会自动在OpenShift创建项目。
$ oc get project spring-petclinic
NAME               DISPLAY NAME   STATUS
spring-petclinic                  Active
  1. 此时在openshift-gitops项目中的OpenShift GitOps Operator中也可以查看到通过ArgoCD部署的名为spring-petclinic的Application。
    在这里插入图片描述
  2. 在ArgoCD控制台中“spring-petclinic”应用的状态显示为“Synced”。
    在这里插入图片描述
  3. 点击进入上图。
    在这里插入图片描述
  4. 最后可以在spring-petclinic项目中通过路由访问部署的应用。

参考

https://github.com/siamaksade/openshift-gitops-getting-started
https://github.com/RedHatWorkshops/argocd-getting-started
https://github.com/wael2000/openshift-gitops-getting-started
https://github.com/argoproj/argo-cd/blob/master/assets/builtin-policy.csv
https://medium.com/geekculture/create-a-new-user-in-argocd-using-the-cli-and-configmap-8cbb27cf5904#:~:text=Create%20a%20New%20User%20in%20ArgoCD%20using%20the,Local%20User.%20…%207%20Disabled%20Admin%20Account.%20
https://itnext.io/argocd-users-access-and-rbac-ddf9f8b51bad
https://faun.pub/create-argo-cd-local-users-9e830db3763f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值