Kubernetes 原生 CI/CD 管道入门

Kubernetes 原生 CI/CD 管道入门

作者:科技狠活与软件技术 2023-05-04 16:03:50

云计算 为 Kubernetes 设置 CI/CD 具有挑战性。在此博客中,作者介绍了使用 Devtron 创建 k8s 原生 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 -n devtroncd port-forward service/devtron-service 8000:80 &

在此之后,您应该能够访问 上的 Devtron 仪表板localhost port 8080。

为了演示 CI/CD 管道,让我们使用Devtron 在 GitHub 存储库上提供的nodejs 演示应用程序。

得到这个之后,你需要为你的应用程序设置全局配置。要设置全局配置,请参阅文档。

第 1 步:启用 GitOps

要启用 GitOps,请转到全局配置,然后使用任何 Git 提供程序进行身份验证。在我们的案例中,我们使用了 GitHub。建议为所有 GitOps 配置创建一个新的 GitHub 组织。

第 2 步:创建应用程序

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

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

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

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

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

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

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

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

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

只需在预定义模板中进行一些调整,您就可以配置Horizontal Pod Autoscaling、Ingress、Security Context、Keda Autoscaling以及Volume Mounts更多 Kubernetes 配置。使用 Devtron 的部署模板,您不必担心为您的 Kubernetes 配置编写大量的 YAML 文件。

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

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

现在,让我们创建CI Build Pipeline并配置管道详细信息。在 CI 管道中,您可以配置vulnerabilities scanning, pre/ post build stages, 给source typeie, Branch Fixed, Regex, Pull Request 或 Tag Creation 来构建图像,等等。

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

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

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

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

是不是很有趣!!

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

要构建图像,请单击Select Material->Select the Commit您要构建的图像 -> 单击Start Build。

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

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

第 6 步:应用详情

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

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

结论

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

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/229210.html<

(0)
运维的头像运维
上一篇2025-04-18 16:10
下一篇 2025-04-18 16:11

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注