• 我的订阅
  • 科技

Kubernetes 原生 CI/CD 管道入门

类别:科技 发布时间:2023-05-08 09:16:00 来源:卓越科技

Kubernetes 原生 CI/CD 管道入门

为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组织。

Kubernetes 原生 CI/CD 管道入门

第2步:创建应用程序

现在让我们继续在Devtron上创建我们的第一个应用程序。提供应用程序名称,即demo-application,为其分配一个项目devtron-demo,即,然后单击CreateApp。

Kubernetes 原生 CI/CD 管道入门

第3步:添加GitHub存储库和构建配置

下一步是添加托管源代码的GitRepoURL。如果要部署私有存储库中的应用程序,请浏览Git帐户文档。

Kubernetes 原生 CI/CD 管道入门

现在,一旦我们设置了存储库,我们就需要设置构建配置。构建配置是拉取和推送容器镜像所必需的。您可以更改注册表以使用docker、ECR、GCR等,这些可以从GlobalConfigurations下的容器注册表进行配置。

我们现在已经集成了Buildpacks它,您可以直接从您的代码构建符合OCI标准的容器镜像。

Kubernetes 原生 CI/CD 管道入门

如果你想构建一个特定于平台的镜像,那么你可以在BuildConfigurations.

Kubernetes 原生 CI/CD 管道入门

第4步:配置基础部署模板

基础部署模板是所有魔法发生的地方。Devtron显示了一个细粒度的配置,抽象出所有Kubernetes配置的复杂性并将模板打包在一个helmchart中。部署模板包含生产级微服务所需的几乎所有主要配置,并带有两个显示选项——基本(GUI模式)和高级(YAML配置)。

Kubernetes 原生 CI/CD 管道入门

您可以配置ContainerPort、设置Requests&Limits部署、提供EnvironmentVariables等。还有一个高级选项,您可以从中获取详细的YAML配置,Devtron将在部署期间使用这些配置并覆盖它们。下面是部署模板的概览。

Kubernetes 原生 CI/CD 管道入门

只需在预定义模板中进行一些调整,您就可以配置HorizontalPodAutoscaling、Ingress、SecurityContext、KedaAutoscaling以及VolumeMounts更多Kubernetes配置。使用Devtron的部署模板,您不必担心为您的Kubernetes配置编写大量的YAML文件。

第5步:创建和触发CI/CD管道

配置部署模板后,您就可以构建CI/CD工作流了。让我们继续配置持续集成。要了解有关创建管道的不同方式的更多信息,请随时阅读工作流编辑器文档。在此示例中,我们将从DevtronDashb构建和部署

Kubernetes 原生 CI/CD 管道入门

现在,让我们创建CIBuildPipeline并配置管道详细信息。在CI管道中,您可以配置vulnerabilitiesscanning,pre/postbuildstages,给sourcetypeie,BranchFixed,Regex,PullRequest或TagCreation来构建图像,等等。

Kubernetes 原生 CI/CD 管道入门

现在在创建构建管道之后,让我们创建DeploymentPipeline.使用+同一页面上的图标添加您的部署管道。使用Devtron,您可以根据需要创建任意数量的管道,无论是顺序管道还是从同一构建部署到多个环境。

DeploymentPipeline您可以在pre/postdeploymentstages其中配置开箱即用的集成deploymentstrategies,即Rolling、Recreate、Blue-Green和Canary。它还允许您为同一应用程序中的不同环境选择不同的部署策略。默认部署策略Rolling如下图所示。

Kubernetes 原生 CI/CD 管道入门

在这篇博客中,我们将继续Blue-Greendeploymentstrategy。您可以检查部署策略配置并根据您的用例进行更改。此配置更改适用于所有其他部署策略。

Kubernetes 原生 CI/CD 管道入门

配置CI和CD管道后,整个管道如下所示。我们可以为不同的环境创建具有不同配置的多个工作流程,并在同一应用程序中构建类型。

是不是很有趣!!

Kubernetes 原生 CI/CD 管道入门

现在管道已创建,我们需要触发我们的管道,为此我们必须转到部分Build&Deploy。

要构建图像,请单击SelectMaterial->SelecttheCommit您要构建的图像->单击StartBuild。

Kubernetes 原生 CI/CD 管道入门

构建启动后,我们可以检查构建过程的日志,当构建成功时,我们可以在工件部分验证构建的图像。它还允许您检查以前的构建,以及仪表板中所需的所有必要审计信息,如下图所示。

Kubernetes 原生 CI/CD 管道入门

让我们触发部署管道。selectimage构建流水线成功后,页面会有一个选项Build&Deploy。选择图像,然后单击“部署”。我们还可以检查启动部署所针对的提交和安全详细信息。部署开始后,Devtron会为您提供所有阶段的详细信息以及针对每个部署的K8s配置。同样在CD管道中,我们获得了有关部署的所有审计信息,如下图所示。

Kubernetes 原生 CI/CD 管道入门

第6步:应用详情

部署应用程序后,您可以在AppDetails.可以从选项卡轻松监控有关您的工作负载和应用程序指标的所有健康相关信息AppDetails。

成功部署应用程序后,它会为您提供有关应用程序的所有信息的360度视图,并允许您执行不同的pod操作,例如viewlogs、execintoterminal、checkmanifests,events还附带LogsAnalyzer允许grep多容器日志。它还以分组方式显示与特定应用程序关联的所有Kubernetes资源,这对于调试和可观察性非常方便。

Kubernetes 原生 CI/CD 管道入门

结论

在此博客中,我们了解了KubernetesCI/CD以及如何使用Devtron在短短3分钟内轻松设置所有最佳实践和GitOps。快速KubernetesCI/CD设置的主要好处之一是它可以通过自动化构建和持续测试代码库来加快整个发布过程。开发人员无需手动构建和测试。快速、可靠和高效的KubernetesCI/CD将带来更好的产品和更快乐的用户。

举报/反馈

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2023-05-08 18:45:13

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

管道焊接3D打印 打开海上油气输送蓝海
...技术的引入,到时以大模型为基础,通过大数据不断改进应用程序,我们就能轻松实现自动化生产,之后再配套相关设备,可逐渐实现智能化生产。”张涛这样介绍公司发展方向。目前,人工智能在
2024-03-22 12:25:00
足不出户就能预约服务,燃气老旧管网更新改造小程序上线
...办公室联合湖北省工业建筑集团安装有限公司推出的燃气管道老化更新改造项目上门服务。汉阳城管为居民讲解如何使用预约小程序。记者陶常宁 摄长江日报记者从汉阳区燃气管理办公室了解到,
2023-01-17 17:17:00
redshift数据分析的历程
...edshift去简化业务流程,同时可以无缝构建和运行ApacheSpark应用程序。“在2022re:Invent大会上
2022-12-27 13:59:00
OpenShift 与 Kubernetes:不公平的较量
...是Kubernetes?Kubernetes是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。它通常也被称为K8s
2023-04-23 15:47:00
...2013年10月,作为我国四大能源战略通道之一的中缅天然气管道、中贵天然气管道正式投产,两条管线在贵阳连接后呈“T”字形贯通贵州境内。贵阳输油气分公司主要负责中缅、中贵天然气
2024-01-11 05:54:00
全国人工智能应用技术技能大赛广州赛区开赛
...业于广州市机电技师学院,他参与研发的替代人工作业的管道机器人,解决了城市地下排水管道的无人下井化难题,实现了行业突破。他说,“我一直在这个领域尝试、努力,未来还想继续探索、突
2022-12-28 15:21:00
...:中国质量报江苏省特检院泰州分院助力中俄东线天然气管道泰兴段投产通气本报讯(肖鹏 张吉祥)中俄东线天然气管道泰安至泰兴段近日正式投产。自此,我国由北向南的中俄东线天然气管道与
2023-01-12 09:05:00
...进餐厅,一次进店就完成了对垃圾分类、消防设施、燃气管道等50多个项目的综合检查。“大综合一体化”行政执法改革后,卫生、市场等8个部门执法人员下沉到街道“会师”。吴小磊感慨,一
2023-02-16 06:35:00
企业安全办公首选 华为云桌面评测
...幕显示的时延小于100ms(网络往返时延要求小于20ms)。3.应用程序的可用性和兼容性对应用程序启动、视频会议、网页浏览
2023-03-17 22:48:00
更多关于科技的资讯: