云原生:一张图了解devops 中CI/CD

一个典型的云原生应用的开发和部署过程,其中涉及到的主要工具有 Git、Docker、Jenkins/CircleCI、Ansible、Kubernetes 等。以下是每个步骤的简要说明:

  1. 开发人员(Developers)使用 Git 进行版本控制,他们将代码推送到 Git 仓库(push)。

  2. Jenkins/CircleCI 等持续集成工具从 Git 仓库拉取代码(pull),并触发构建和测试流程。

  3. 构建过程中会基于 Dockerfile 创建 Docker 镜像。Dockerfile 是一个文本文件,包含了如何构建 Docker 镜像的指令。

  4. 构建好的镜像会被推送到注册表(registry),如 Docker Hub 或私有的注册表。

  5. Kubernetes 从注册表中拉取镜像(pull),并将镜像部署到集群中。

  6. Ansible 负责自动化配置管理,它可以用来配置 Kubernetes 集群以及其他基础设施。

  7. 开发人员也可以使用 GitOps 方式来管理 Kubernetes 应用部署,即将 Kubernetes 配置文件(manifests)提交到 Git 仓库,然后由工具(如 Flux)自动同步到 Kubernetes 集群。

整个流程体现了 DevOps 的理念,强调了自动化和持续交付的重要性。开发者只需关注代码开发,而无需关心底层的基础设施和部署细节,因为这些都可以通过自动化工具来完成。这种模式有助于提高开发效率和稳定性,同时降低了维护成本。

相关推荐
小义_11 小时前
【Kubernetes】(九)Service 2
云原生·容器·kubernetes
Cyber4K13 小时前
【Kubernetes专项】温故而知新,重温技术原理(2)
云原生·容器·kubernetes
身如柳絮随风扬16 小时前
Kubernetes v1.20.9 集群搭建
云原生·容器·kubernetes
LSL666_16 小时前
微服务架构
微服务·云原生·架构
AI精钢17 小时前
Hermes Agent 整合 OpenCode CLI 的实战经验
人工智能·云原生·aigc
cyber_两只龙宝17 小时前
【Oracle】Oracle之使用DML语言管理表
linux·运维·服务器·数据库·云原生·oracle
成为你的宁宁18 小时前
【K8s ServiceAccount 机制原理与 RBAC 权限实战应用】
云原生·容器·kubernetes
SilentSamsara18 小时前
Kubernetes 网络模型:CNI 插件与 Pod 间通信的底层实现
网络·云原生·容器·架构·kubernetes·k8s
LSL666_20 小时前
微服务架构——有关概念
微服务·云原生·架构
小江的记录本20 小时前
【微服务与云原生架构】Serverless架构、FaaS/BaaS、核心原理、优缺点
java·后端·微服务·云原生·架构·系统架构·serverless