怎样在K8S中使用Argo CD做持续部署


这篇文章给大家介绍怎样在K8S中使用Argo CD做持续部署,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.Argo CD是一个基于Kubernetes的声明式的GitOps工具。在说Argo CD之前,我们先来了解一下什么是GitOps。GitOps是以Git为基础,使用CI/CD来更新运行在云原生环境的应用,它秉承了DevOps的核心理念–“构建它并交付它(you built it you ship it)”。概念说起来有点虚,我画了张图,看了你就明白了。其中,目标状态是Git中的状态,现有状态是集群的里的应用状态。不用GitOps可以么?当然可以,我们可以使用kubectl、helm等工具直接发布配置,但这会存在一个很严重的安全问题,那就是密钥共享。为了让CI系统能够自动的部署应用,我们需要将集群的访问密钥共享给它,这会带来潜在的安全问题。Argo CD遵循GitOps模式,使用Git存储库存储所需应用程序的配置。Kubernetes清单可以通过以下几种方式指定:Argo CD实现为kubernetes控制器,它持续监视运行中的应用程序,并将当前的活动状态与期望的目标状态进行比较(如Git repo中指定的那样)。开发云主机域名如果已部署的应用程序的活动状态偏离了目标状态,则认为是OutOfSync。Argo CD报告和可视化这些差异,同时提供了方法,可以自动或手动将活动状态同步回所需的目标状态。在Git repo中对所需目标状态所做的任何修改都可以自动应用并反映到指定的目标环境中。Argo CD就处在如下位置:它的优势总结如下:前提:有一个可用的Kubernetes集群。实验环境:安装很简单,不过在实际使用中需要对数据进行持久化。我这里直接使用官方文档的安装命令:执行成功后会在argocd的namespace下创建如下资源。访问Argo server的方式有两种:我这里直接使用web ui进行管理。通过kubectl edit -n argocd svc argocd-server将service的type类型改为NodePort。改完后通过以下命令查看端口:然后通过http://IP:32109访问页面,如下:登录账号为admin,密码通过以下命令获取。然后进入如下界面。这里仅仅是为了测试argo,所以并没有做ci部分。我在gitlab上准备了一个仓库,仓库里的文件很简单,如下:其中manifests下就是一个deployment文件,内容如下:现在我们在Argo里创建应用,步骤如下:(1)添加仓库地址,Settings → Repositories,点击 Connect Repo using HTTPS 按钮:填入以下信息。验证通过后显示如下:(2)创建应用创建完成后如下所示:由于我设置的是手动SYNC,所以需要点一下下面的SYNC进行同步。然后可以看到状态都变成正常。这时候我们在集群里可以看到创建了v1版本的应用了。这时候访问应用,如下:接下来我手动进行配置变更,修改manifests下的deploymeny.yaml文件中的镜像为v2版本,如下:然后提交到仓库。这是到ArgoCD中可以看到状态变成了OutOfSync这时候再手动sync一下,直到状态都变正常。再访问上面的应用。可以看到应用已经更新部署了。我们可以看到整个应用的关系状态,如下:还可以看到部署历史。也可以通过这个界面进行回滚。关于怎样在K8S中使用Argo CD做持续部署就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

相关推荐: asp虚拟主机怎样购买

今天就跟大家聊聊有关asp虚拟主机怎样购买,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一开发云主机域名般来说,大家购买的虚拟主机不是PHP 环境的,就是asp.net。利用asp语言可以把静态的网页限…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/17 16:45
Next 05/17 16:46

相关推荐