我们正处于一个信息大暴发的时代,每天都能产生数以百万计的新闻资讯!
虽然有大数据推荐,但面对海量数据,通过我们的调研发现,在一个小时的时间里,您通常无法真正有效地获取您感兴趣的资讯!
头条新闻资讯订阅,旨在帮助您收集感兴趣的资讯内容,并且在第一时间通知到您。可以有效节约您获取资讯的时间,避免错过一些关键信息。
为Kubernetes设置CI/CD具有挑战性。在此博客中,作者介绍了使用Devtron创建k8s原生CI/CD管道的过程。
为Kubernetes设置CI/CD管道很复杂。设置后,当您的团队和基础架构快速增长时,管理CI/CD会变得非常具有挑战性。高效且完全自动化的CI/CD在确保您更快地交付功能方面发挥着重要作用。通过利用CI/CD,您可以保证应用程序团队更快地交付功能,同时确保代码库的最佳实践。
在这篇微博中,我们将看到使用Devtron创建和管理CI/CD管道是多么容易,但在此之前,让我们快速回顾一下CI/CD。
什么是CI/CD?
CI代表“持续集成”,这是我们验证和测试开发人员推动的更改的阶段。它是您运行所有测试用例的地方,即单元测试和集成测试。在我们验证和测试代码库之后,我们可以在此步骤中构建软件工件;例如,我们可以构建一个容器镜像,或者它可以是一个二进制可执行文件。
CD代表“持续交付”,即您在自动化过程中将软件工件推送到生产/暂存环境。在这种情况下,在构建容器镜像并将其推送到容器注册表后,我们在Devtron的帮助下将相同的镜像部署到Kubernetes集群中。
什么是Kubernetes原生CI/CD?
Kubernetes本机CI/CD通过成为Kubernetes集群的一部分来利用软件交付工作流。使用Kubernetes原生CI/CD的好处是您的构建步骤将在pod内发生,您不需要为CI在外部配置或连接任何其他计算资源。从安全角度来看,建议使用此方法,因为我们所有的机密和外部凭证都在集群中。
Kubernetes原生CI/CD与Devtron
当您使用YAML管理管道时,您需要编写工作流并反复更新它。了解YAML、检查构建过程、学习不同的Linux命令、手动部署代码以及学习Kubernetes对开发人员来说都很难。他们需要直观、简单且不需要领域专业知识的东西。即使您不太了解Kubernetes,您也应该能够开发、执行和触发您的构建和部署。
这就是我们试图使用Devtron解决的问题。它为您提供了一个直观的仪表板,可帮助您在Kubernetes上快速设置和管理CI/CD管道。让我们安装Devtron并为我们的应用程序设置一些CI/CD管道。
Devtron的安装请参考安装文档。安装Devtron后,我们将端口转发Devtron服务以获取仪表板URL,因为我们将它安装在本地机器上。
kubectl-ndevtroncdport-forwardservice/devtron-service8000:80&
在此之后,您应该能够访问上的Devtron仪表板localhostport8080。
为了演示CI/CD管道,让我们使用Devtron在GitHub存储库上提供的nodejs演示应用程序。
得到这个之后,你需要为你的应用程序设置全局配置。要设置全局配置,请参阅文档。
第1步:启用GitOps
要启用GitOps,请转到全局配置,然后使用任何Git提供程序进行身份验证。在我们的案例中,我们使用了GitHub。建议为所有GitOps配置创建一个新的GitHub组织。
第2步:创建应用程序
现在让我们继续在Devtron上创建我们的第一个应用程序。提供应用程序名称,即demo-application,为其分配一个项目devtron-demo,即,然后单击CreateApp。
第3步:添加GitHub存储库和构建配置
下一步是添加托管源代码的GitRepoURL。如果要部署私有存储库中的应用程序,请浏览Git帐户文档。
现在,一旦我们设置了存储库,我们就需要设置构建配置。构建配置是拉取和推送容器镜像所必需的。您可以更改注册表以使用docker、ECR、GCR等,这些可以从GlobalConfigurations下的容器注册表进行配置。
我们现在已经集成了Buildpacks它,您可以直接从您的代码构建符合OCI标准的容器镜像。
如果你想构建一个特定于平台的镜像,那么你可以在BuildConfigurations.
第4步:配置基础部署模板
基础部署模板是所有魔法发生的地方。Devtron显示了一个细粒度的配置,抽象出所有Kubernetes配置的复杂性并将模板打包在一个helmchart中。部署模板包含生产级微服务所需的几乎所有主要配置,并带有两个显示选项——基本(GUI模式)和高级(YAML配置)。
您可以配置ContainerPort、设置Requests&Limits部署、提供EnvironmentVariables等。还有一个高级选项,您可以从中获取详细的YAML配置,Devtron将在部署期间使用这些配置并覆盖它们。下面是部署模板的概览。
只需在预定义模板中进行一些调整,您就可以配置HorizontalPodAutoscaling、Ingress、SecurityContext、KedaAutoscaling以及VolumeMounts更多Kubernetes配置。使用Devtron的部署模板,您不必担心为您的Kubernetes配置编写大量的YAML文件。
第5步:创建和触发CI/CD管道
配置部署模板后,您就可以构建CI/CD工作流了。让我们继续配置持续集成。要了解有关创建管道的不同方式的更多信息,请随时阅读工作流编辑器文档。在此示例中,我们将从DevtronDashb构建和部署
现在,让我们创建CIBuildPipeline并配置管道详细信息。在CI管道中,您可以配置vulnerabilitiesscanning,pre/postbuildstages,给sourcetypeie,BranchFixed,Regex,PullRequest或TagCreation来构建图像,等等。
现在在创建构建管道之后,让我们创建DeploymentPipeline.使用+同一页面上的图标添加您的部署管道。使用Devtron,您可以根据需要创建任意数量的管道,无论是顺序管道还是从同一构建部署到多个环境。
DeploymentPipeline您可以在pre/postdeploymentstages其中配置开箱即用的集成deploymentstrategies,即Rolling、Recreate、Blue-Green和Canary。它还允许您为同一应用程序中的不同环境选择不同的部署策略。默认部署策略Rolling如下图所示。
在这篇博客中,我们将继续Blue-Greendeploymentstrategy。您可以检查部署策略配置并根据您的用例进行更改。此配置更改适用于所有其他部署策略。
配置CI和CD管道后,整个管道如下所示。我们可以为不同的环境创建具有不同配置的多个工作流程,并在同一应用程序中构建类型。
是不是很有趣!!
现在管道已创建,我们需要触发我们的管道,为此我们必须转到部分Build&Deploy。
要构建图像,请单击SelectMaterial->SelecttheCommit您要构建的图像->单击StartBuild。
构建启动后,我们可以检查构建过程的日志,当构建成功时,我们可以在工件部分验证构建的图像。它还允许您检查以前的构建,以及仪表板中所需的所有必要审计信息,如下图所示。
让我们触发部署管道。selectimage构建流水线成功后,页面会有一个选项Build&Deploy。选择图像,然后单击“部署”。我们还可以检查启动部署所针对的提交和安全详细信息。部署开始后,Devtron会为您提供所有阶段的详细信息以及针对每个部署的K8s配置。同样在CD管道中,我们获得了有关部署的所有审计信息,如下图所示。
第6步:应用详情
部署应用程序后,您可以在AppDetails.可以从选项卡轻松监控有关您的工作负载和应用程序指标的所有健康相关信息AppDetails。
成功部署应用程序后,它会为您提供有关应用程序的所有信息的360度视图,并允许您执行不同的pod操作,例如viewlogs、execintoterminal、checkmanifests,events还附带LogsAnalyzer允许grep多容器日志。它还以分组方式显示与特定应用程序关联的所有Kubernetes资源,这对于调试和可观察性非常方便。
结论
在此博客中,我们了解了KubernetesCI/CD以及如何使用Devtron在短短3分钟内轻松设置所有最佳实践和GitOps。快速KubernetesCI/CD设置的主要好处之一是它可以通过自动化构建和持续测试代码库来加快整个发布过程。开发人员无需手动构建和测试。快速、可靠和高效的KubernetesCI/CD将带来更好的产品和更快乐的用户。
举报/反馈
以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。
快照生成时间:2023-05-08 18:45:13
本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。
信息原文地址: