ArgoCD
ArgoCD
目录
[toc]
Argo cd用起来非常简单。
argocd支持声明式地创建它的应用。
这就是gitops,我改下仓库的地址,argocd能帮我们自动识别到。
FAQ
部署arogo应用
文章来源:
- 执行
[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
- 观察状态
- 删除argocd应用
删除成功:
- 我们将argocd应用的代码仓库换成自己的极狐地址,再次部署,观察现象
[root@devops7 argocd-testapp]#kubectl apply -f testapp.yaml application.argoproj.io/directory-guestbookcreated
可正常部署应用:
以上,本次的测试环境已搭建成功。😘
Token
Token
更适合作为二次开发,把它作为CI/CD底层的一个引擎。
kubevela
kubevela
对于我们应用交付的作用是非常大的。这个一般用于我们自己构建pass平台,或一个大的交付场景中。例如在多集群应用交付里,使用kubevela
是非常方便的。
这个会单独拿出来介绍的。
Argo CD 、flux CD
KubeVela就是基于flux CD
做的;
ArgoCD实践
来源(仅收藏)
安装部署
#### 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
连接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 所有,如有转载,请注明出处! 链接:可点击右上角分享此页面复制文章链接
上次更新时间: