云原生--argocd 仓库管理、集群管理
原创
©著作权归作者所有:来自51CTO博客作者邹邹很busy的原创作品,请联系作者获取转载授权,否则将追究法律责任
前戏
在我们之前添加应用的时候,都是在下图那里添加的,但如下图那样添加有个问题,就是我们的仓库需要认证,那是没有办法的,这时候我们就需要先将仓库设置好,在这里选择就可以了
![云原生--argocd 仓库管理、集群管理_用户名](https://s2.51cto.com/images/blog/202210/22013745_6352d8e98267964402.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
添加仓库
仓库我们可以通过命令行添加也可以通过 UI 界面添加
![云原生--argocd 仓库管理、集群管理_命令行_02](https://s2.51cto.com/images/blog/202210/22013746_6352d8ea1737061707.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
通过 UI 页面进行添加
![云原生--argocd 仓库管理、集群管理_目标集_03](https://s2.51cto.com/images/blog/202210/22013746_6352d8ea6d1d057990.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
常用选项
- name:当前 Repo 的名称
- username:用户名
- password:密码
- project: repo 所属的 project
- type:Repo 的类型,git 还是 helm
基于用户名和密码创建
这里我使用一个我的私有仓库做演示,如果是公开的仓库,就不需要填写用户名和密码
点击如下 CONNECT REPO USING HTTPS
![云原生--argocd 仓库管理、集群管理_命令行_04](https://s2.51cto.com/images/blog/202210/22013746_6352d8eaac1f333419.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
输入仓库地址和账号密码
![云原生--argocd 仓库管理、集群管理_用户名_05](https://s2.51cto.com/images/blog/202210/22013746_6352d8eaefe9c86072.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
点击上面的 CONNECT,查看,可以看到我们的仓库已经创建成功了,并且状态也是 Successful 的
![云原生--argocd 仓库管理、集群管理_用户名_06](https://s2.51cto.com/images/blog/202210/22013747_6352d8eb32f4312189.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
基于 SSH 创建
上面是通过用户名和密码进行创建的,也可以通过 SSH
进行创建,先删除上面通过用户名和密码创建的
没成功过~~~
添加 cluster
首先在命令行中进行登录
# 登录到 argocd
[root@master1 ~]# argocd login 10.6.215.30:30495
WARNING: server certificate had error: x509: cannot validate certificate for 10.6.215.30 because it doesn't contain any IP SANs. Proceed insecurely (y/n)? y
Username: admin
Password:
'admin:login' logged in successfully
Context '10.6.215.30:30495' updated
当我们部署好 argocd 之后,就默认有一个集群,如下
![云原生--argocd 仓库管理、集群管理_目标集_07](https://s2.51cto.com/images/blog/202210/22013747_6352d8eb7051e79991.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
但是我们在 ui 上是没有办法添加 cluster
的,要在 CLI
里添加
第一步:获取到集群的 config 信息,将文件放在 argocd 的 kubectl 机器上。,我这里将某个集群的 config 信息保存在了 /root/.kube/my-cluster 文件下
![云原生--argocd 仓库管理、集群管理_目标集_08](https://s2.51cto.com/images/blog/202210/22013747_6352d8ebabee781175.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
第二步:根据 config 信息,获取到目标集群的上下文信息。注意,要在目标集群上进行获取,关键信息:NAME 和 CLUSTER
![云原生--argocd 仓库管理、集群管理_用户名_09](https://s2.51cto.com/images/blog/202210/22013748_6352d8ec073a661670.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
第三步:客户端添加集群
# add 后面的 kubernetes-admin@kubernetes 为你第二步获取到的 NAME 信息
# --name 指定集群的名称,--kubeconfig 指定 config 的路径
[root@master1 ~]# argocd cluster add kubernetes-admin@kubernetes --name test001 --kubeconfig /root/.kube/my-cluster
WARNING: This will create a service account `argocd-manager` on the cluster referenced by context `kubernetes-admin@kubernetes` with full cluster level privileges. Do you want to continue [y/N]? y
INFO[0001] ServiceAccount "argocd-manager" already exists in namespace "kube-system"
INFO[0001] ClusterRole "argocd-manager-role" updated
INFO[0001] ClusterRoleBinding "argocd-manager-role-binding" updated
Cluster 'https://10.123.132.11:6443' added
去页面进行查看,可以看到添加成功了,状态为 Successful
![云原生--argocd 仓库管理、集群管理_用户名_10](https://s2.51cto.com/images/blog/202210/22013748_6352d8ec5e36025749.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
也可以通过命令行进行查看
# 通过命令行进行查看 cluster
[root@master1 ~]# argocd cluster list
SERVER NAME VERSION STATUS MESSAGE PROJECT
https://10.6.194.1:6443 test001 1.19 Successful
https://kubernetes.default.svc in-cluster 1.23 Successful
部署个应用进行测试
![云原生--argocd 仓库管理、集群管理_命令行_11](https://s2.51cto.com/images/blog/202210/22013748_6352d8ec776bb11373.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
查看资源是否创建。可以看到我们的资源成功创建了(pod 镜像拉不下来,不用管)
![云原生--argocd 仓库管理、集群管理_命令行_12](https://s2.51cto.com/images/blog/202210/22013748_6352d8ec95ade32525.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)