当前位置:网站首页>How does Argo family bucket make Devops easier?
How does Argo family bucket make Devops easier?
2022-06-24 12:39:00 【My small bowl of soup】
If you are a DevOps The engineer , You may at least have heard of Argo The name , See the friendly cuttlefish (squid) The logo , And want to know : What exactly is this tool that everyone is talking about ?
In short ,Argo Is a popular open source tool , It makes GitOps For any use Kubernetes All people are practical . But this is much more than that , Because by enabling GitOps,Argo Will also make Kubernetes The environment is more robust than ever 、 Safe and reliable .
What is? GitOps, Will replace DevOps Do you ?
GitOps Is a new process and paradigm for development teams to manage infrastructure and deploy applications .GitOps Medium “Git” It refers to the open source version control system .GitOps Use Git As a single source of information for declarative configuration . Based on this declarative configuration , It works its magic .
GitOps Use Git Pull requests automatically manage the configuration and deployment of the infrastructure . When the development team is right Git When the configuration changes , Deployed in the environment GitOps The agent automatically reconciles the changes to the real-time state . Every change to the real-time environment will occur in Git Capture... In the repository , So the team has visibility and auditability for system changes . most important of all , In case of failure in production , Rolling back to the previous working version is easy .
GitOps Build on developer experience , Enable teams to manage infrastructure using the same tools and processes used to develop software , And extend these tools to software deployment and infrastructure management .
Although some people will GitOps Touted as “DevOps 2.0”, But many experts disagree , call GitOps No DevOps A better version of , It will not completely replace DevOps.GitOps Is a kind of right DevOps A very useful technical practice for the team .DevOps Engineers will not be Git Triggered by the robot . but GitOps Will make developers more efficient .
What is? Argo project ?
Argo Is a cloud native Computing Foundation (CNCF) Managed open source projects :
https://www.cncf.io/projects/argo/
For building and managing Kubernetes、GitOps Style continuous delivery workflow .Argo What makes it unique is that it is Kubernetes Native , Designed from scratch for a modern containerized environment .
Argo The project consists of four main sub projects :
- Argo CD: Have the power to GUI and CLI Of GitOps Continuous delivery engine .
- Argo Workflows: A workflow engine , Support workflow and directed acyclic graph (DAG), Each of these process phases is a container .
- Argo Rollouts: An advanced Kubernetes Deployment engine , Support progressive delivery strategies , Such as canary and blue / Green deployment , These are common Kubernetes It's very difficult to achieve .
- Argo Events: One is based on Kubernetes Event dependent management system , Can be used to trigger CI/CD Automated workflows in pipelines .
Argo The advantages of tools in a production environment
ArgoCD
Argo CD yes Kubernetes Native continuous delivery (CD) Tools .
https://argoproj.github.io/cd/
Although most CD The tool only supports push based deployment , but Argo CD Working in pull mode , from Git The repository retrieves the updated code and deploys it directly to Kubernetes resources . This allows developers to manage infrastructure configuration and application updates in one system .
Argo CD Its main functions include :
- Automatically put Kubernetes The application state in the cluster is the same as Git The repository (GitOps) The current version of the declarative configuration in .
- Ability to visualize deployment issues and detect and fix misconfigurations .
- Conveniently based on Web Of GUI and CLI.
- Role-based access control (RBAC) And single sign on (SSO), Including passage GitHub、LinkedIn、Microsoft Wait for login .
- Support in GitLab、GitHub and BitBucket Which triggers the operation webhook.
GitOps Can help you in Kubernetes To achieve real GitOps workflow , Provide the following benefits in a production environment :
- Minimize failed deployments and quickly recover from downtime :Argo CD It allows you to recover and rollback immediately and easily in case of any problems in production , This reduces recovery time to seconds .
- Built in audit history :Argo CD Make sure you are right Kubernetes Every change to the cluster is made in Git Audit in the form of configuration change log . This provides a complete audit trail of who changed the content in the cluster , This enables consistent operation and supports compliance requirements .
- Improve visibility into the development function lifecycle :Argo CD Provide traceability from each change in the infrastructure or application directly to the code submission that caused those changes .
- Improve safety :Argo CD Provide strong security assurance , Use powerful encryption to manage and verify identities , And in CI Create a complete separation between the environment and the production system , Eliminate multiple types of supply chain attacks .
Argo Rollouts
Argo Rollouts It's a group. Kubernetes Controller and CRD, Provides advanced deployment capabilities .
https://codefresh.io/learn/argo-rollouts/
for example Kubernetes Blue in the environment / Green and Canary deployment 、 Experimentation and progressive delivery . It can work with Ingress Controller and service grid integration , To convert the traffic increment to the new version during the update .
Argo Rollouts A key feature of is that it can query and interpret metrics from many sources , To verify that the deployment is working properly and perform an automatic upgrade or rollback .
By default ,Kubernetes Provide Deployment object , This object uses “ Scroll to update ” Policy update application . In large production environments , Rolling updates are considered too risky , Because we can't control the pushing speed , Nor can it be rolled back automatically in the event of a failure .
Another limitation is out of the box ,Kubernetes Deployment Unable to query external indicators , For example, real users' measurement of performance or participation , To determine if the deployment was successful .
Argo Rollouts Can solve all these challenges , And in Kubernetes Fully progressive delivery in the environment , Without complicated configuration .
Argo Workflows
Argo Workflows Is an open source container native workflow engine , Used in Kubernetes Arrange parallel tasks on .Argo Workflow is implemented as Kubernetes Custom resource definition (CRD).
Argo The main features of the workflow include :
- Define a workflow in which each step in the workflow is a container .
- Model a multi-step workflow as a set of actions or DAG To capture dependencies .
- stay Kubernetes Run locally CI/CD The Conduit , No need to configure complex software development products .
Argo Workflows Can let you in any Kubernetes Automate production workflows in the environment , Whether it's local 、 Mixed cloud or cloudy environment . It eliminates manual processes , And ensure that automation is presented in declarative configuration , Make it consistent 、 repeatable 、 Easy rollback and troubleshooting .
Argo Events
Argo Events It's based on Kubernetes Event dependency Manager , It is for different event sources ( for example webhook、 S3、 Dispatch 、 Flow, etc. ), And event dependent Kubernetes Object dependencies were successfully resolved , Provide triggers .
Argo The events themselves are not very useful . To generate value , Need to integrate with systems that can perform workflow steps . therefore , have access to Argo Workflows To integrate Argo Events. This helps orchestrate parallelism Kubernetes Homework .
Argo Events Provides several in production Kubernetes Enable dependency management in the environment :
- Manage the dependencies of various event sources .
- Be able to customize business level constraint logic to solve event dependencies .
- Manage everything from simple linear real-time dependencies to complex multi-source batch job dependencies .
- accord with CloudEvents standard .
- Ability to manage event sources at run time .
Conclusion
This paper introduces GitOps and Argo Basic knowledge of the project , And shows Argo How each key module of the project helps developers and DevOps The engineer made... With minimal effort Kubernetes Prepare for production .Argo Its magic lies in its simplicity and seamless integration into the existing Kubernetes The way of workflow .
边栏推荐
- Process of solving easydss virtual live video jam and instability problems by replacing push-pull stream Library
- Use txvideoeditor to add watermark and export video card at 99%? No successful failed callback?
- 11+! Methylation modification patterns based on m6A regulatory factors in colon cancer are characterized by different tumor microenvironment immune spectra
- A good habit that makes your programming ability soar
- Opencv learning notes - loading and saving images
- Installing sqlserver extension PDO of PHP under Linux_ sqlsrv
- In depth analysis, from ordinary clock system to various time service modes
- RTMP streaming platform easydss video on demand interface search bar development label fuzzy query process introduction
- The world's largest meat processor has been "blackmailed", how many industries will blackmail virus poison?
- Continuous testing | test process improvement: practice continuous testing within iterations in coding
猜你喜欢

MySQL 外键影响

【2022国赛模拟】摆(bigben)——行列式、杜教筛

Installation and operation of libuv

一文讲透植物内生菌研究怎么做 | 微生物专题

Opencv learning notes -- Separation of color channels and multi-channel mixing

一纸英雄帖,激起千层浪,横跨10国,一线大厂都派人来了!-GWEI 2022-新加坡
Deep parsing and implementation of redis pub/sub publish subscribe mode message queue
Cloud native database: the outlet of the database, you can also take off

《回归故里》阅读笔记

微医CodeReview工具链
随机推荐
Process of solving easydss virtual live video jam and instability problems by replacing push-pull stream Library
Adjustment method of easynvr video platform equipment channel page display error
QT -- the qtabwidget supports dragging tabbar items
Easynvr user login is modified to share the modification process of ip+ user name restriction
钉钉、飞书、企业微信:迥异的商业门道
A scheme for crawlers to collect public opinion data
Practice of dynamic load balancing based on open source tars
The pod is evicted due to insufficient disk space of tke node
Encapsulate the method of converting a picture file object to Base64
Post processing - deep camera deformation effects
Concentrate on research preparation, Tencent cloud, see you next year!
短信服务sms
Making daily menu applet with micro build low code
Cloud native database: the outlet of the database, you can also take off
The operation and maintenance boss laughed at me. Don't you know that?
Kubernetes best practice: graceful termination
Is it safe to open an account for how many new bonds you can apply for
How to check the situation that the national standard platform easygbs equipment video cannot be accessed by grabbing packets?
Chenglixin research group of Shenzhen People's hospital proposed a new method of multi group data in the diagnosis and prognosis analysis of hepatocellular carcinoma megps
The programmer's graduation project is still bald after a year