什么是GitOps?其他的还有DevOps,AiOps
基础设计即代码 Infrastructure as Code IaC,像编写代码一样使用基础设施,广义上不仅仅是基础设施,还包含网络、安全、配置等,所以广义上也是X as Code
- Intracstructure as Code
- Network as Code
- Policy as Code
- Security as Code
- Configuration as Code
什么是GitOps
GitOps = IaC + Git +CI/CD 即基于IaC版本化的CI/CD,核心是使用Git仓库来管理基础设置和应用的配置,并以Git仓库作为基础设施和应用的单一事实来源
Git仓库中的声明式配置定义了基础设施的期望状态,如有不匹配,会触发K8S进行调整
DevOps团队可以通过版本控制、代码审查、自动化测试、CI/CD流水线来管控大规模应用的迭代更新
关于 DevOps
DevOps 是 Development and Operations,囊括了开发和实施,在软件流程中,
- development: plan,code,build,test
- operations: release,deploy,operate,monitor
是一些列的过程和方法,用于促进开发、技术运营和质量保证
devops,表示以上这些流程方法,也是一种思想和文化,团队的各个部分需要了解流程,明确规范和标准,在软件敏捷开发、持续集成、持续交付的全流程通力协作。
GitOps对 DevOps的实践
GitOps 就是对于DevOps这种开发与交付理念,提出一个技术解决思路,定义了云原生场景下的CI/CD流程。
GitOps的几个原则有:
- 声明式
- 版本控制与不可变,Git仓库作为单一事实来源
- 自动应用变更
- 持续的Reconciliation,描述系统状态和目标期望状态持续保持一致的过程
什么是CI/CD?
- CI:Continuous Integration 持续集成
- CD:Continuous Delivery 持续交付
GitOps工作流
- git fork & git pull/push
- 执行CI流水线:验证配置文件、自动化测试、代码检测、构建OCI镜像、将镜像推至仓库,完成流程后将这个pull request合并入主分支
- 运行CD流水线,将变动应用至系统中
    - 在触发CI/CD的模式中,存在Pull和Push两种 Push模式,类似Jenkins、CircleCI,在CI流程执行完后将应用部署至系统中 Pull模式,会在目标环境安装agent,自动周期性检测当前应用状态和仓库中的期望状态,如果不符合就会自动更新以满足一致性。例如Argo CD,Flux CD
 
GitOps一般是基于pull模式,将代码的提交和应用的迭代,通过这种约定的自动化匹配的方式进行解耦,将开发与实施维护融为一体。
要实现GitOps,必须要开发出新的组件,用于粘合这些工具,实现拉式交付流水线。
Featured Tags
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    工具类
                                
                            
        				
                            
                				
                                    XML
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    JAVA
                                
                            
        				
                            
                				
                                    Java
                                
                            
        				
                            
                				
                                    Mybatis
                                
                            
        				
                            
        				
                            
                				
                                    反射
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    代理模式
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    日志
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    工厂方法模式
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    装饰器模式
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    结果集映射
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Web
                                
                            
        				
                            
                				
                                    RESTful
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    WebAPI规范
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    SQL
                                
                            
        				
                            
                				
                                    Redis
                                
                            
        				
                            
        				
                            
                				
                                    Jira
                                
                            
        				
                            
                				
                                    SynapseRT
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    有限状态机 State Machine
                                
                            
        				
                            
                				
                                    statemachine
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    SpringBoot
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    IDEA
                                
                            
        				
                            
                				
                                    Tomcat
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    Vue
                                
                            
        				
                            
                				
                                    Docker
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Springboot
                                
                            
        				
                            
        				
                            
                				
                                    Apache Ignite
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    项目发布与调试
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    白帽子讲web安全
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    黑名单
                                
                            
        				
                            
                				
                                    通用化
                                
                            
        				
                            
                				
                                    企业中台实践
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    MacOS
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    docker
                                
                            
        				
                            
        				
                            
                				
                                    minio
                                
                            
        				
                            
                				
                                    springboot
                                
                            
        				
                            
                				
                                    分布式存储
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Postgres
                                
                            
        				
                            
                				
                                    数据备份
                                
                            
        				
                            
                				
                                    数据恢复
                                
                            
        				
                            
                				
                                    Elasticsearch
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    K8S
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    抖音小程序
                                
                            
        				
                            
                				
                                    开发实践
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    SpringCloud
                                
                            
        				
                            
                				
                                    PostgreSQL
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Skywalking
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Nacos
                                
                            
        				
                            
        				
                            
                				
                                    Kubernetes
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Secret
                                
                            
        				
                            
                				
                                    ConfigMap
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Git
                                
                            
        				
                            
                				
                                    GitOps
                                
                            
        				
                            
        				
                            
                				
                                    云原生
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    RocketMQ
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    ActiveMQ-Artemis
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    ClickHouse
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Kamailio
                                
                            
        				
                            
                				
                                    SIP
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    sipp
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    Homer
                                
                            
        				
                            
                				
                                    heplify
                                
                            
        				
                            
                				
                                    heplify-server
                                
                            
        				
                            
                				
                                    HEP
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    MySQL
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    OpenSIPS
                                
                            
        				
                            
                				
                                    sip
                                
                            
        				
                            
                				
                                    DeepSeek
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Manticore Search
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
        			
                