运维自动化之Kubernetes 云原生CICD部署管理系统

简介: Kubernetes 云原生CICD部署管理系统

简介

Gops系统是一个灵活功能强大、操作简洁的云原生CICD管理平台,即把持续集成和持续交付平台化,更利于各部门高效输出的一套运维自动化平台。

早期公司采用Jenkins实现CICD,要求运维人员掌握Jenkins、ansible、yaml等技术才能维护,学习、维护成本高,新业务对接繁琐耗时长;如果公司没有运维人员,通过gops平台完全可以满足企业快速集成的目的,无需依赖专业的管理人员,同时公司存在多家公有云K8s及自建K8s,为了快速实现对接,gops完全采用平台化可web管理端管理对接配置, 由此我们自主开发高效的CICD系统,采用Kubernetes api部署管理发布任务,及实时获取容器状态等管理操作,完善的用户管理和权限控制,完全可交付给开发人员实现快速持续集成和持续交付的发布管理平台。

下面我们一起开始Gops云原生CICD部署管理系统使用吧。

部署基础配置

在开始持续集成和交付前,我们需要先对部署工具和部署的环境信息做一下配置,所有配置都是通过平台Web端配置,操作非常简单,包括项目构建语言及工具的配置(java、maven、go、php)、Harbor镜像仓库、Kubernetes集群、Gitlab代码仓库认证信息等依赖配置。

  • Harbor镜像仓库配置, 包括Harbor地址、用户名和密码, ci编译后会把镜像自动上传到对应的产品线仓库, 为cd过程提供发布的镜像。

harbor.png

  • Kubernetes集群配置,支持多个集群,例如生成环境和开发环境属于不同集群,可分别创建不同环境的集群,需要配置区别集群的名称例如[dev环境]、[prod环境],并配置对应集群master节点的kubeconfig文件,把该文件放到Gops平台集群的任意路径,配置好后可实时测试配置的是否正确。

kubernetes.png

  • Gitlab代码仓库配置, 支持账号密码和ssh秘钥认证方式

gitlab.png

  • 编译工具配置, 需要在gops机器安装配置好对应的语言编译环境, 灵活简洁的配置,支持同语言不同版本的集成。

buildtools.png

创建部署任务

以上配置好后,就可以创建对应的发布任务了, 部署任务支持k8s的常用配置,会自动生成对应的service, 关联创建对应的Deloyment。
deploy01.jpg

选择对应产品线后,点击创建部署任务,根据项目实际配置对应参数,配置参考以golang项目为例:

task1.png
task2.png
task3.png

配置好具体参数后,可以点击yaml查看渲染后的Kubernetes yaml文件信息, 可提供参考学习及配置核对。
yaml.jpg

CICD

编译: 点击部署任务ci按钮会拉取代码仓库相关信息,业务同学可以选择对应的提交记录进行构建

ci.jpg

部署: 点击cd按钮会拉取镜像仓库对应镜像版本进行部署及回滚

cd.jpg

部署完成后可以实时查看部署的结果及操作记录

deploy_result.png

以上就是Gops 持续集成和交付的配置操作流程,是不是非常灵活、容易上手,不需要您掌握ansible、jenkins等开源工具技术,无需维护大量的yaml文件,只需要把精力投入到业务编码,cicd交给gops,为企业提高集成交付效率。

开源地址: https://github.com/zttheff/gops

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
2月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
659 1
|
2月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
231 0
|
3月前
|
运维 Prometheus 监控
3 年部署经验总结:用自动化工具轻松管理 300+ 服务器开源软件
三年前接手公司IT部门时,我满怀信心,却发现部署效率低下。尽管使用了GitLab、Jenkins、Zabbix等100+开源工具,部署仍耗时费力。文档厚重如百科,却难解实际困境。一次凌晨三点的加班让我下定决心改变现状。偶然看到一篇国外博客,介绍了自动化部署的高效方式,我深受启发。
189 0
|
5月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
654 1
|
1月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
379 5
|
2月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
399 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
9月前
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
4月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
167 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
4月前
|
运维 监控 持续交付
还在为部署开源工具烦恼?自动化部署工具 Websoft9一键部署 300+ 开源应用
在数字化时代,开源工具因免费、灵活、可定制等特性广受欢迎,但其部署过程却常因环境配置复杂、依赖繁琐、耗时长等问题令人头疼。本文介绍了传统部署的三大难点,并提出两种解决方案:传统手动部署与集成化控制台部署。
还在为部署开源工具烦恼?自动化部署工具 Websoft9一键部署 300+ 开源应用