
GitOps
文章平均质量分 87
分享GitOps最佳实践。
寻花之梦~~
AI交付运维--->>>SRE--->>>AI智算运维
展开
-
【GitOps系列】使用 ArgoCD ApplicationSet 来实现多环境管理
开发环境测试环境预发布环境生产环境为了让不同职责的人员在不同的环境下独立工作,我们一般会将不同环境隔离。通常,开发环境主要用于开发人员的日常开发,测试环境则是为测试团队而准备的,预发布是正式发布到生产环境之前的最后一道防线,除了数据以外,应该尽量和生产环境保持一致。当然,对有些团队来说,他们可能还希望开发人员之间相互隔离,也就是为每一个开发者分配一个独立的开发环境,使他们互不干扰。在非云原生技术架构体系下,环境一般是由特定的团队人工维护的。原创 2023-08-05 11:20:20 · 1187 阅读 · 0 评论 -
【GitOps系列】如何实施自动化渐进式交付?
在实施金丝雀发布的过程中,我们通过 Argo Rollout 的金丝雀策略将发布过程分成了 3 个阶段,每个阶段金丝雀的流量比例都不同,经过一段时间之后,金丝雀环境变成了新的生产环境。实际上,这也是一种渐进式的交付方式,它通过延长发布时间来保护生产环境,降低了发生生产事故的概率。不过,这种渐进式的交付方式存在一个明显的缺点:无法自动判断金丝雀环境是否出错?这可能会导致一种情况,当金丝雀环境在接收生产流量之后,它产生了大量的请求错误,在缺少人工介入的情况下,发布仍然按照计划进行,最终导致生产环境故障。原创 2023-08-03 22:49:27 · 949 阅读 · 0 评论 -
【GitOps系列】如何实施金丝雀发布?
蓝绿发布是一种通过资源冗余来换取回滚效率的发布方式,结合 Argo Rollout ,能够很方便地实现自动化的流量切换。但是它的缺点也是比较明显的:当新环境准备好之后,流量将进行全量切换, 无法对新环境进行小规模的流量验证。为了更好地了解新环境的性能和潜在的问题,最好的办法是让新的环境接收一小部分生产流量。通常,我们会把一定比例的生产流量转发到新的环境,以此来验证新环境的表现。这种发布方式就叫做金丝雀发布,又叫做灰度发布。原创 2023-07-31 23:05:31 · 1025 阅读 · 1 评论 -
【GitOps系列】在 GitOps 工作流中实现蓝绿发布
借助于Argo Rollout 工具实现自动化蓝绿发布。和手动修改 Ingress 策略来实现的蓝绿发布不同的是:它主要是通过自动修改 Service 的选择器来对流量进行切换的。这种方式将蓝绿发布的过程变成了更新镜像的操作,极大降低了蓝绿发布的门槛。原创 2023-07-30 15:20:28 · 617 阅读 · 0 评论 -
【GitOps系列】监听镜像版本变化触发 GitOps工作流
通过引入 ArgoCD Image Updater,我们可以让 ArgoCD 具备自动监控镜像仓库的更新情况能力,一旦工作负载的镜像版本有更新,ArgoCD 就会自动化将工作负载升级为新的镜像版本,并且还可以自动将镜像的版本号回写到 Helm Chart 仓库中,保持应用定义和集群状态的一致性。原创 2023-07-29 00:05:49 · 1151 阅读 · 1 评论 -
【GitOps系列】使用 ArgoCD 快速打造GitOps工作流
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.原创 2023-07-27 15:50:48 · 1679 阅读 · 0 评论 -
【GitOps系列】自动化构建Image
自动构建镜像的自托管方案:使用 Tekton 来自动构建镜像。Tekton 是一款基于 Kubernetes 的 CI/CD 开源产品,如果已经有一个 Kubernetes 集群,那么利用 Tekton 直接在 Kubernetes 上构建镜像是一个不错的选择。原创 2023-07-14 16:53:43 · 491 阅读 · 0 评论 -
【GitOps系列】从零上手GitOps
通过构建 GitOps 工作流,打造高可用、高并发、自动自愈、可观测的弹性应用架构体系,同时实现环境即代码(Environment as Code)的秒级发布和回滚。让我们开始从零上手 GitOps,感受云原生工程实践之美吧!原创 2023-07-13 20:05:47 · 751 阅读 · 1 评论 -
k8s集成jenkins权限故障记录
给jenkins用户配置sudo权限,然后build镜像。1.我部署的jenkins默认是以jenkins用户运行的;而docker是以root用户运行;2.针对此问题,我刚开始试着给jenkins用户添加了root和docker组。原创 2020-01-29 19:15:55 · 1558 阅读 · 1 评论 -
k8s结合jenkins实现DevOps
【代码】k8s结合jenkins实现DevOps。原创 2019-12-13 14:11:21 · 1750 阅读 · 2 评论 -
Jenkins实现Java项目代码自动化上线
1.手动部署Java项目至Web集群?1.搭建Nginx+Tomcat集群架构第一步:两台web节点安装好tomcat,+一台负载均衡服务器负载代理后端的两台web节点2.开发提交Java源代码至gitlab仓库3.手动获取Java源代码,然后使用maven进行编译[root@jenkins ~]# yum install java maven -y[root@jenkin...原创 2019-11-16 18:06:45 · 425 阅读 · 0 评论 -
CI/CD理解
文章目录1. 软件开发生命周期2. 代码上线3. 自动化代码上线(CI/CD)3.1 持续集成?3.2 持续交付?3.3 持续部署?4. DevOps5. 总结1. 软件开发生命周期项目立项–>需求调研–>需求拆解–>交给不同的开发进行开发–>测试环境测试–>部署生产环境。一个软件产品从开发到用户使用涉及的开发环境、测试环境、预发布环境、生产环境如何理解?1、开发环境: 开发同学开发时使用的环境,例如java环境、go环境、python环境2、测试环境: 一般会由原创 2020-11-01 22:00:37 · 982 阅读 · 0 评论 -
Pipeline流水线实现cms项目自动化部署
直接上代码:---------->>>pipeline { agent any stages { //部署任务总合集 stage('获取代码'){ steps { checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations...原创 2019-11-17 18:36:38 · 520 阅读 · 0 评论 -
Jenkins+Gogs构建DevOps平台
1.硬件要求最低的系统硬件要求为一个廉价的树莓派如果用于团队项目管理,建议使用 4 核 CPU 及 16GB 内存当团队成员大量增加时,可以考虑添加 CPU 核数,内存64GB2.安装部署在安装 Gogs 之前,您需要先安装 基本环境。然后,您可以通过以下 6 种方式来安装 Gogs:二进制安装源码安装 ------->作者这里采用源码安装包管理安装...原创 2019-11-17 01:48:28 · 383 阅读 · 0 评论 -
Jenkins分布式及权限管理
jenkins分布式1.加速不同环境的构建2.降低master压力如何实现:系统管理–》节点管理—》详细步骤:slave节点安装:java git maven1.在master上添加slave节点信息2.master会发送一个jar包给slave3.slave要与master完全高度一致[root@jenkins ~]# scp -rp /usr/local/sonar-sca...原创 2019-11-17 00:42:32 · 288 阅读 · 0 评论 -
Jenkins实现cms项目自动化部署
文章目录1.开发项目2.项目推送至Gitlab3.手动拉取cms项目代码4.导入数据库的sql语句5.修改数据库的连接信息6.使用maven进行编译1.开发项目2.项目推送至Gitlab3.手动拉取cms项目代码4.导入数据库的sql语句5.修改数据库的连接信息6.使用maven进行编译2.windows电脑pull代码至Gitlab服务器git add .git commit...原创 2019-11-14 22:56:33 · 407 阅读 · 0 评论 -
Jenkins集成SonarQube质检代码
1.安装sonarqube1.安装javayum install java -y2.安装mysql5.6以上版本的数据库yum localinstall mysql-community-*3.启动mysqlsystemctl start mysqld4.创建一个sonar的库[root@sonarqube ~]# mysql -uroot -e "create databas...原创 2019-11-14 19:53:00 · 291 阅读 · 0 评论 -
Jenkins实现代码自动化上线
CICD之Jenkins自动化实践原创 2019-11-13 20:23:35 · 500 阅读 · 0 评论 -
Git命令合集
1.Git命令总结github针对私有仓库收费;gitlab自建自行维护;chef平台研究一下1.git基础命令:git init #初始化一个目录为版本库git add #将没有被管理的文件,加入git进行管理git commit #将内容提交到版本库中git log #查看提交的历史记录git reflog #查看所有的历史提交记录git reset --hard 版...原创 2019-12-19 19:45:09 · 338 阅读 · 1 评论 -
GitLab代码托管平台管理
1.gitlab仓库1. gitlab介绍: 代码托管仓库,和gitee github 等等2.gitlab与github区别github针对私有仓库收费,国外 卡 ( 开源项目 )gitlab自建自行维护, 创建公开仓库和私有仓库 (公司使用)小型团队: 国内 码云 创建私有仓库 离线同步 分支管理 权限管理2.gitlab安装1.依赖...原创 2019-11-12 21:54:31 · 338 阅读 · 0 评论 -
git版本控制软件
1.代码自动化上线git config --global color.ui truegit config --global user.email "cheng@qq.com"git config --global user.name "cheng"[root@manager ~]# mkdir kuaishoucd kuaishou/[root@manager kuaishou]...原创 2019-11-12 17:57:26 · 626 阅读 · 0 评论