Skip to content

ArgoCD

ArgoCD

目录

[toc]

Argo cd用起来非常简单。

argocd支持声明式地创建它的应用。

这就是gitops,我改下仓库的地址,argocd能帮我们自动识别到。

image-20230717065110216

FAQ

部署arogo应用

文章来源:

image-20230717065318567

  • 执行
bash
[root@devops7 argocd-testapp]#lstestapp.yaml[root@devops7 argocd-testapp]#kubectl apply -f testapp.yaml application.argoproj.io/directory-guestbookcreated[root@devops7 argocd-testapp]#
  • 点击SYNC

image-20230716103835623

image-20230716103857788

image-20230716103944320

  • 观察状态

image-20230716104221331

image-20230716104152164

  • 删除argocd应用

image-20230716104914361

image-20230716104934981

删除成功:

image-20230716104951698

image-20230716105038732

  • 我们将argocd应用的代码仓库换成自己的极狐地址,再次部署,观察现象

image-20230716105144477

bash
[root@devops7 argocd-testapp]#kubectl apply -f testapp.yaml application.argoproj.io/directory-guestbookcreated

可正常部署应用:

image-20230716105304982

image-20230716105325457

以上,本次的测试环境已搭建成功。😘

Token

Token更适合作为二次开发,把它作为CI/CD底层的一个引擎。

kubevela

kubevela对于我们应用交付的作用是非常大的。这个一般用于我们自己构建pass平台,或一个大的交付场景中。例如在多集群应用交付里,使用kubevela是非常方便的。

这个会单独拿出来介绍的。

Argo CD 、flux CD

KubeVela就是基于flux CD做的;

ArgoCD实践

来源(仅收藏)

image-20230709102956854

安装部署

bash
#### applykubectlcreatenamespaceargocdkubectlapply-nargocd-fhttps:#### 查看部署状态[root@master ~]# kubectl get pod -n argocdNAMEREADYSTATUSRESTARTSAGEargocd-application-controller-01/1Running064margocd-dex-server-77dd4b844b-tkpxh1/1Running064margocd-redis-74d8c6db65-b9dl91/1Running064margocd-repo-server-5674b858d5-255cc1/1Running064margocd-server-59964ffc7d-szg4c1/1Running064m#### 使用nodePortkubectlpatchsvcargocd-server-p'{"spec":{"type":"NodePort"}}'-nargocd#### 默认情况下 admin 帐号的初始密码是自动生成的,会以明文的形式存储在 Argo CD 安装的命名空间中名为 password 的 Secret 对象下的 argocd-initial-admin-secret 字段下,我们可以用下面的命令来获取kubectl-nargocdgetsecretargocd-initial-admin-secret-ojsonpath="{.data.password}"|base64-d&&echo

img

img

img

连接K8s集群

Argo CD 支持部署应用到多集群,所以如果你要将应用部署到外部集群的时候,需要先将外部集群的认证信息注册到 Argo CD 中,如果是在内部部署(运行 Argo CD 的同一个集群,默认不需要配置),应该使用 https:curl-sSL-o/usr/local/bin/argocdhttps:chmod+x/usr/local/bin/argocd#### 添加集群[root@master ~]# argocd-linux-amd64 login 192.168.1.230:30248WARNING:serverisnotconfiguredwithTLS.Proceed(y/n)?yUsername:adminPassword:'admin:login'loggedinsuccessfullyContext'192.168.1.230:30248'updated#### 列出当前 kubeconfig 中的所有集群上下文:[root@master ~]# kubectl config get-contexts -o namekubernetes-admin@kubernetes#### 注册集群[root@master ~]# argocd-linux-amd64 cluster add kubernetes-admin@kubernetesWARNING:Thiswillcreateaserviceaccount`argocd-manager`ontheclusterreferencedbycontext`kubernetes-admin@kubernetes`withfullclusterleveladminprivileges.Doyouwanttocontinue[y/N]?yINFO[0002]ServiceAccount"argocd-manager"alreadyexistsinnamespace"kube-system"INFO[0002]ClusterRole"argocd-manager-role"updatedINFO[0002]ClusterRoleBinding"argocd-manager-role-binding"updatedCluster'https:

版权:此文章版权归 One 所有,如有转载,请注明出处!

链接:可点击右上角分享此页面复制文章链接

上次更新时间:

最近更新