argocd官网文档链接
ArgoCD官网文档
在K8S集群使用argocd命令将集群添加到argcd的cluster列表中
argocd cluster add kubernetes-admin@iamdemo --name iamdemo --kubeconfig /root/.kube/config
遇到一个添加失败的问题,通过修改/root/.kube/config的server: https://iamdemo.tp-link.com:6443,原来是https://127.0.0.1:6443
添加后可以通过
argocd cluster list查看argocd对接的集群
argocd proj list 查看project
Project概念:提供了应用程序的逻辑分组
(1)限制可能部署的内容,如限制Git源仓库
(2)限制应用可以部署到的集群和命名空间
(3)可以限制部署或者不能部署的对象类型,RBAC,Daemonsets,Networkpolicy等
每一个应用程序都需要属于一个项目,default项目是自动创建的,如果没有也可以在UI界面之自己创建,default项目允许从任何Git仓库,部署任何资源到任何集群,也可以修改
也可以通过命令的形式创建项目
argocd proj create myproject -d https://kubernetes.default.svc,mynamespace -s https://github.com/argoproj/argocd-example-apps.git
ArgoCD中增加Git源仓库可以在UI界面进行操作
git仓库可以通过ssh/https连接
http的方式需要写用户和密码,可以跳过Skip server verification来源检验
ssh的方式需要添加private key
通过Gitlab+ArgoCD部署一个基础Nginx服务
在Gitlab仓库创建一个K8S仓库,http://dbatest1.ip.tp-link.com/fujianjun/k8s_project2.git
yaml文件不能放在仓库第一层,需要在第一层创建文件夹然后文件放文件夹里,因为在ArgoCD新增APP时需要填写Path路径,这里创建了一个test目录,deployment.yaml文件放在test目录下
添加Webhooks钩子
因为ArgoCD默认的自动同步Git仓库时间是180s,三分钟,如果想要实时进行同步需要在相应的Git仓库添加Webhooks
argocd的webhooks接口为argocd的ip+端口/api/webhook
测试通过200即可
Argocd创建本地用户,赋予apiKey权限
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/part-of: argocd
data:
# add an additional local user with apiKey and login capabilities
# # apiKey - allows generating API keys
# # login - allows to login using UI
accounts.autodeploy: apiKey, login
# # disables user. User is enabled by default
#accounts.alice.enabled: "false"
accounts.autodeploy.enabled: "true"
创建autodeploy用户就accounts.autodeploy:后面跟权限
要使账户生效就enabled设置为true
标签:Git,仓库,创建,ArgoCD,argocd,Argocd,学习,https
From: https://www.cnblogs.com/iamxiaofu/p/17998969