首页
视频
资源
登录
原
初探Argo
5871
人阅读
2021/7/24 15:52
总访问:
2538070
评论:
0
收藏:
0
手机
分类:
云产品
![](https://img.tnblog.net/arcimg/hb/0e10cfab14f1417fac8a2b0c0ac0b93c.jpeg) >#初探Argo [TOC] 什么是 Argo CD? ------------ >Argo CD 是 Kubernetes 的声明性 GitOps 持续交付工具。 应用程序定义、配置和环境应该是声明性的并且是版本控制的。应用程序部署和生命周期管理应该是自动化的、可审计的并且易于理解。 入门 ------------ >### 安装 Argo CD ```bash kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml ``` tn>这将创建一个新的命名空间 ,Argo CD 服务和应用程序资源将在其中驻留。 ![](https://img.tnblog.net/arcimg/hb/ab6cdecd68a843d49f8a8a23f7657a0b.png) >### 安装 Argo CD CLI ```bash 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 ``` tn>如果下载不成功这里有百度云盘的连接 ```bash 链接: https://pan.baidu.com/s/13TKHCK7oMn76Vweu2kOkHg 密码: 5efe ``` >###访问 Argo CD API 服务器 tn>默认情况下,Argo CD API 服务器不公开外部 IP。要访问 API 服务器,请选择以下技术之一来公开 Argo CD API 服务器: >服务类型负载均衡器 将 argocd-server 服务类型更改为LoadBalancer: ```bash kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}' ``` >转发端口 Kubectl 端口转发也可用于连接到 API 服务器而不暴露服务。这里我将它暴露到任何都可以访问的地方。 ```bash # 暴露到本地 kubectl port-forward svc/argocd-server -n argocd 8080:443 # 暴露到任何地方 kubectl port-forward svc/argocd-server -n argocd 8080:443 --address=0.0.0.0 ``` tn>注意关闭防火墙 ![](https://img.tnblog.net/arcimg/hb/d12c44b7b014481389a809aba29c1697.png) ![](https://img.tnblog.net/arcimg/hb/7d413207179a4ccbaf19e4b9f2a7f296.png) tn>该`admin`帐户的初始密码是自动生成的,并以明文形式存储 在 Argo CD 安装命名空间中命名`password`的机密字段中`argocd-initial-admin-secret`。您可以简单地使用`kubectl`以下方法检索此密码: ```bash kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d ``` >使用上面的用户名`admin`和密码,登录 Argo CD 的 IP 或主机名: ```bash argocd login <ARGOCD_SERVER> ``` ![](https://img.tnblog.net/arcimg/hb/00b70909ce9a42648181c6b8165ce7e9.png) >使用以下命令更改密码: ```bash argocd account update-password ``` >在界面上登录: ![](https://img.tnblog.net/arcimg/hb/c266929ec3494aa98fc5536741ada619.png) 从 Git 存储库创建应用程序 ------------ tn>`https://github.com/argoproj/argocd-example-apps.git`提供了一个包含留言簿应用程序的示例存储库, 以演示 Argo CD 的工作原理。 >### 通过UI创建应用程序 点击`+ NEW APP`按钮,如下图: ![](https://img.tnblog.net/arcimg/hb/4c63a3b53c534c2d9bd2bac608a0a630.png) 为您的应用命名`guestbook`,使用项目`default`,并将同步策略保留为`Manual`: ![](https://img.tnblog.net/arcimg/hb/fa78a629b3374e219a47c7320d0b9e60.png) 将`https://github.com/argoproj/argocd-example-apps.git` repo连接到 Argo CD,方法是将 `repository url` 设置为 `github repo url`,将修订版保留为HEAD,并将路径设置为`guestbook`: ![](https://img.tnblog.net/arcimg/hb/094e5a1f4a724eccbfedf8b888fcbb65.png) 对于`Destination`,将 `cluster` 设置为`in-cluster`和 `namespace` 为`default`: ![](https://img.tnblog.net/arcimg/hb/4d80f204930d44668b15004b39e9d37f.png) 填写完以上信息后,点击UI上方的Create,创建`guestbook`应用: ![](https://img.tnblog.net/arcimg/hb/896032aa94f9430e9920dc6f72df765b.png) async(部署)应用程序 ------------ >### 通过 CLI 同步 创建留言簿应用程序后,您现在可以查看其状态: ```bash argocd app get guestbook ``` >应用程序状态为初始`OutOfSync`状态,因为应用程序尚未部署,并且尚未创建任何 Kubernetes 资源。要同步(部署)应用程序,请运行: ```bash argocd app sync guestbook ``` >此命令从存储库中检索清单并执行`kubectl apply`清单中的一个。留言板应用程序现在正在运行,您现在可以查看其资源组件、日志、事件和评估的健康状态。 ![](https://img.tnblog.net/arcimg/hb/61084fc86f8f412786aa5be7dc8a9355.png) ![](https://img.tnblog.net/arcimg/hb/52b7bb68184d472ea064cfee5cc65cfe.png) NodePort发布 ------------ ```bash vim nodeport-argocd-server.yaml kubectl apply -f nodeport-argocd-server.yaml ``` ```yaml apiVersion: v1 kind: Service metadata: name: nodeport-argocd-server namespace: argocd spec: type: NodePort selector: app.kubernetes.io/name: argocd-server ports: - nodePort: 32000 port: 443 protocol: TCP targetPort: 443 ``` tn2>通过命令登录: ```bash argocd login 127.0.0.1:32000 --username admin --password 86382516@qq.com --insecure ``` 命令创建应用 ------------ ```bash ARGOCD_SERVER="127.0.0.1:32000" argocd login 127.0.0.1:32000 --username admin --password 86382516@qq.com --insecure argocd app create nginx-test \ --repo https://gitee.com/zuxiazijiahebo/k8s-ocelot.git \ --path kustomize/testnginx \ --dest-namespace default \ --dest-server https://kubernetes.default.svc \ --server $ARGOCD_SERVER # 修改参数 argocd app set nginx-test --kustomize-image=nginx:stable #argocd --grpc-web app sync nginx-test --force # 执行同步 argocd app sync nginx-test --force # 等待超时 argocd app wait nginx-test --timeout 6000 ``` tn2>更多参数请参考:https://argo-cd.readthedocs.io/en/stable/user-guide/commands/argocd_app_set/
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
尘叶心繁
这一世以无限游戏为使命!
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
.net后台框架
166篇
linux
17篇
linux中cve
1篇
windows中cve
0篇
资源分享
10篇
Win32
3篇
前端
28篇
传说中的c
4篇
Xamarin
9篇
docker
15篇
容器编排
101篇
grpc
4篇
Go
15篇
yaml模板
1篇
理论
2篇
更多
Sqlserver
4篇
云产品
39篇
git
3篇
Unity
1篇
考证
2篇
RabbitMq
23篇
Harbor
1篇
Ansible
8篇
Jenkins
17篇
Vue
1篇
Ids4
18篇
istio
1篇
架构
2篇
网络
7篇
windbg
4篇
AI
18篇
threejs
2篇
人物
1篇
嵌入式
2篇
python
13篇
HuggingFace
8篇
pytorch
9篇
opencv
6篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术