前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >23 Dec 2021 argocd学习(一)

23 Dec 2021 argocd学习(一)

作者头像
俊采
发布2023-10-17 10:33:49
1830
发布2023-10-17 10:33:49
举报
文章被收录于专栏:LEo的网络日志LEo的网络日志

安装argocd

代码语言:javascript
复制
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

expose svc

代码语言:javascript
复制
oc -n argocd patch deployment argocd-server -p '{"spec":{"template":{"spec":{"$setElementOrder/containers":[{"name":"argocd-server"}],"containers":[{"command":["argocd-server","--insecure","--staticassets","/shared/app"],"name":"argocd-server"}]}}}}'
oc -n argocd create route edge argocd-server --service=argocd-server --port=http --insecure-policy=Redirect
k get route
NAME            HOST/PORT                                                                PATH   SERVICES        PORT   TERMINATION     WILDCARD
argocd-server   argocd-server-argocd.apps.demo.com          argocd-server   http   edge/Redirect   None

或者直接通过ocp的operatorhub安装,ocp的gitops实际是通过argocd实现,在operatorhub查找openshift gitops后,按照默认配置安装到ocp:

安装成功后如下:

直接从ocp的ui中就可以登录到argocd。

安装argocd cli

代码语言:javascript
复制
curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x /usr/local/bin/argocd

登录argocd

通过以下命令获取admin用户的登录密码:

代码语言:javascript
复制
k get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

进入 https://argocd-server-argocd.apps.demo.com 登录。或者通过argocd cli登录:

代码语言:javascript
复制
argocd login argocd-server-argocd.apps.demo.com

创建应用

代码语言:javascript
复制
$ cat hostname.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: hostname
  namespace: argocd
spec:
  destination:
    namespace: default
    server: https://kubernetes.default.svc
  project: default
  source:
    path: hostname
    repoURL: https://github.com/songleo/argocd-demo.git
    targetRevision: HEAD
  syncPolicy:
    automated: {}
$ k apply -f hostname.yaml
$ k get route
NAME       HOST/PORT                                                            PATH   SERVICES   PORT   TERMINATION   WILDCARD
hostname   hostname-default.apps.demo.com          hostname   8080                 None
$ curl hostname-default.apps.demo.com
hostname: hostname-54fcb96656-k2lxx
app version: v1.0

ui展示应用如下:

使用applicationset在多集群创建应用

  • 添加集群
代码语言:javascript
复制
$ kubectl config get-contexts -o name
$ argocd cluster add admin --name soli-mc
$ argocd cluster list
SERVER                                                         NAME        VERSION  STATUS  MESSAGE  PROJECT
https://api.demo.com:6443                                      soli-mc
https://kubernetes.default.svc                                 in-cluster
  • 创建applicationset
代码语言:javascript
复制
$ cat appset.yaml
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: hostname
spec:
  generators:
  - list:
      elements:
      - cluster: in-cluster
        url: https://kubernetes.default.svc
      - cluster: soli-mc
        url: https://api.demo.com:6443
  template:
    metadata:
      name: '-hostname'
    spec:
      project: "default"
      source:
        repoURL: https://github.com/songleo/argocd-demo.git
        targetRevision: HEAD
        path: hostname-no-route
      destination:
        server: ''
        namespace: hostname
$ k apply -f appset.yaml

ui展示多集群应用如下:

ref

  • https://argo-cd.readthedocs.io/en/stable/getting_started/
  • https://argocd-applicationset.readthedocs.io/en/stable/Getting-Started/

LEo at 00:12

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装argocd
  • expose svc
  • 安装argocd cli
  • 登录argocd
  • 创建应用
  • 使用applicationset在多集群创建应用
  • ref
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档