tnblog
首页
视频
资源
登录

初探Argo

7397人阅读 2021/7/24 15:52 总访问:3467576 评论:0 收藏:0 手机
分类: 云产品

初探Argo

什么是 Argo CD?

Argo CD 是 Kubernetes 的声明性 GitOps 持续交付工具。
应用程序定义、配置和环境应该是声明性的并且是版本控制的。应用程序部署和生命周期管理应该是自动化的、可审计的并且易于理解。

入门

安装 Argo CD

  1. kubectl create namespace argocd
  2. kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

这将创建一个新的命名空间 ,Argo CD 服务和应用程序资源将在其中驻留。

安装 Argo CD CLI

  1. curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
  2. chmod +x /usr/local/bin/argocd

如果下载不成功这里有百度云盘的连接

  1. 链接: https://pan.baidu.com/s/13TKHCK7oMn76Vweu2kOkHg 密码: 5efe

访问 Argo CD API 服务器

默认情况下,Argo CD API 服务器不公开外部 IP。要访问 API 服务器,请选择以下技术之一来公开 Argo CD API 服务器:

服务类型负载均衡器

将 argocd-server 服务类型更改为LoadBalancer:

  1. kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'

转发端口

Kubectl 端口转发也可用于连接到 API 服务器而不暴露服务。这里我将它暴露到任何都可以访问的地方。

  1. # 暴露到本地
  2. kubectl port-forward svc/argocd-server -n argocd 8080:443
  3. # 暴露到任何地方
  4. kubectl port-forward svc/argocd-server -n argocd 8080:443 --address=0.0.0.0

注意关闭防火墙

admin帐户的初始密码是自动生成的,并以明文形式存储 在 Argo CD 安装命名空间中命名password的机密字段中argocd-initial-admin-secret。您可以简单地使用kubectl以下方法检索此密码:

  1. kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

使用上面的用户名admin和密码,登录 Argo CD 的 IP 或主机名:

  1. argocd login <ARGOCD_SERVER>

使用以下命令更改密码:

  1. argocd account update-password

在界面上登录:

从 Git 存储库创建应用程序

https://github.com/argoproj/argocd-example-apps.git提供了一个包含留言簿应用程序的示例存储库, 以演示 Argo CD 的工作原理。

通过UI创建应用程序

点击+ NEW APP按钮,如下图:

为您的应用命名guestbook,使用项目default,并将同步策略保留为Manual

https://github.com/argoproj/argocd-example-apps.git repo连接到 Argo CD,方法是将 repository url 设置为 github repo url,将修订版保留为HEAD,并将路径设置为guestbook

对于Destination,将 cluster 设置为in-clusternamespacedefault

填写完以上信息后,点击UI上方的Create,创建guestbook应用:

async(部署)应用程序

通过 CLI 同步

创建留言簿应用程序后,您现在可以查看其状态:

  1. argocd app get guestbook

应用程序状态为初始OutOfSync状态,因为应用程序尚未部署,并且尚未创建任何 Kubernetes 资源。要同步(部署)应用程序,请运行:

  1. argocd app sync guestbook

此命令从存储库中检索清单并执行kubectl apply清单中的一个。留言板应用程序现在正在运行,您现在可以查看其资源组件、日志、事件和评估的健康状态。

NodePort发布

  1. vim nodeport-argocd-server.yaml
  2. kubectl apply -f nodeport-argocd-server.yaml
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: nodeport-argocd-server
  5. namespace: argocd
  6. spec:
  7. type: NodePort
  8. selector:
  9. app.kubernetes.io/name: argocd-server
  10. ports:
  11. - nodePort: 32000
  12. port: 443
  13. protocol: TCP
  14. targetPort: 443


通过命令登录:

  1. argocd login 127.0.0.1:32000 --username admin --password 86382516@qq.com --insecure

命令创建应用

  1. ARGOCD_SERVER="127.0.0.1:32000"
  2. argocd login 127.0.0.1:32000 --username admin --password 86382516@qq.com --insecure
  3. argocd app create nginx-test \
  4. --repo https://gitee.com/zuxiazijiahebo/k8s-ocelot.git \
  5. --path kustomize/testnginx \
  6. --dest-namespace default \
  7. --dest-server https://kubernetes.default.svc \
  8. --server $ARGOCD_SERVER
  9. # 修改参数
  10. argocd app set nginx-test --kustomize-image=nginx:stable
  11. #argocd --grpc-web app sync nginx-test --force
  12. # 执行同步
  13. argocd app sync nginx-test --force
  14. # 等待超时
  15. argocd app wait nginx-test --timeout 6000


更多参数请参考:https://argo-cd.readthedocs.io/en/stable/user-guide/commands/argocd_app_set/


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

初探k8s

概念补充Deployment 是在 Pod 这个抽象上更为上层的一个抽象层,它可以定义一组 Pod 的副本数量,以及这个 Pod 的版本。一...

BGP RR路由反射与Calico的初探

BGP RR路由反射与Calico的初探[TOC] BGP RR路由反射介绍由于IBGP水平分割的存在,为了保证所有的BGP路由器都能学习到完整...

Flannel CNI初探

Flannel CNI初探[TOC] Flannel 简介Flannel是由CoreOs提出的跨主通信容器网络解决方案,通过分配和管理全局唯一容器IP以及...

python 初探神经网络(一元一次函数)学习笔记

python 初探神经网络(一元一次函数)学习笔记[TOC] B站学习课程 豆豆实验有个小蓝的生物,想吃豆豆,豆豆越大豆豆的毒性...

Outlook WebAddin初探

Outlook WebAddin初探[TOC] 安装前提首先,确保你的计算机上已安装Node.js和npm。你可以在官方网站下载并安装它们。 VS C...

HugginFace 初探

HugginFace 初探[TOC] 安装环境python环境是3.6。import sys sys.version 安装torch,简单起见,避免环境问题,并且计...

Pytorch 初探

Pytorch 初探[TOC] Pytorch简介PyTorch由 Facebook 的 AI 研究团队开发的一个开源的机器学习库,它提供了张量(tensor)计...

Cmake 初探

Cmake 初探[TOC] CMake简介CMake 是一个开源的、跨平台的构建系统(编译工具),它主要用于管理项目的构建过程。它通过使用...

解决ArgoCD Ingress资源一直处于Progressing状态

解决ArgoCD Ingress资源一直处于Progressing状态[TOC] 这个问题,其实需要分版本做不同的处理。主要是通过ArgoCD健康检查...

解决ArgoCD unknown method ListPlugins for service repository.RepoServerService

解决ArgoCD unknown method ListPlugins for service repository.RepoServerService[TOC] 直接删除ArgoCD集群中的argocd-r...
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术