随笔分类 -  CI/CD / Argo

摘要:环境说明 使用Argo Rollouts部署nginx应用: 1. 使用Rollout部署nginx 2. 采用canary部署策略 3. 结合Analysis进行渐进式交付 4. 结合Istio VirtualService进行自动化流量分割和流量迁移 5. 部署清单放在git repo中 使用A 阅读全文
posted @ 2023-12-22 09:41 小吉猫 阅读(239) 评论(0) 推荐(0) 编辑
摘要:ArgoCD notifications Triggers Triggers 定义应发送通知的条件。定义包括名称、条件 和通知模板参考。条件是一个谓词表达式,如果通知则返回 true 应该发送。 Triggers 列表 1. on-created # Application 创建 2. on-del 阅读全文
posted @ 2023-12-21 10:01 小吉猫 阅读(206) 评论(0) 推荐(0) 编辑
摘要:HTTPS 方式访问私有仓库 Argo CD CLI 添加私有仓库 # argocd repo add https://github.com/argoproj/argocd-example-apps --username <username> --password <password> dashbo 阅读全文
posted @ 2023-12-20 09:43 小吉猫 阅读(391) 评论(0) 推荐(0) 编辑
摘要:Argo Rollouts notifications cm 模板 argo-rollouts-notification-configmap的configmap需要部署在argo-rollouts名称空间下。 apiVersion: v1 kind: ConfigMap metadata: name 阅读全文
posted @ 2023-12-19 10:27 小吉猫 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Argo Rollouts TrafficRouting概述 流量治理技术实现如下: 1. 按百分比进行流量管理(即 5% 的流量应流向新版本,其余流量流向稳定版本) 2. 基于标头的路由(即将带有特定标头的请求发送到新版本) 3. 镜像流量,其中所有流量都被复制并并行发送到新版本(但响应被忽略) 阅读全文
posted @ 2023-12-18 09:42 小吉猫 阅读(133) 评论(0) 推荐(0) 编辑
摘要:环境说明 用argo rollouts 金丝雀发布策略更新nginx服务。 发布过程结合Isito和analysis。 创建 ns argo-demo # kubectl create ns argo-demo namespace/argo-demo created 启用Istio自动注入功能 # 阅读全文
posted @ 2023-12-17 13:37 小吉猫 阅读(45) 评论(0) 推荐(0) 编辑
摘要:AnalysisTemplate CRD apiVersion: argoproj.io/v1alpha1 kind: AnalysisTemplate metadata: name: success-rate spec: args: # 模板参数,模板内部引用的格式为“{{args.NAME}}” 阅读全文
posted @ 2023-12-16 14:42 小吉猫 阅读(26) 评论(0) 推荐(0) 编辑
摘要:Argo Rollouts Canary 概述 金丝雀部署是一种部署策略,将一小部分生产流量发布到新版本的应用程序。 Argo Rollouts Canary 完整配置 apiVersion: argoproj.io/v1alpha1 kind: Rollout metadata: name: ex 阅读全文
posted @ 2023-12-15 19:48 小吉猫 阅读(75) 评论(0) 推荐(0) 编辑
摘要:Argo Rollouts BlueGreen 更新过程 1. 从稳定状态开始,activeService 和 PreviewService 都指向revision 1 的ReplicaSet。 2. 用户通过修改 Pod 模板(spec.template.spec)来发起更新。 3. 创建的Rep 阅读全文
posted @ 2023-12-15 10:18 小吉猫 阅读(56) 评论(0) 推荐(0) 编辑
摘要:Argo Rollouts CRD apiVersion: argoproj.io/v1alpha1 kind: Rollout metadata: name: example-rollout-canary spec: # 运行的Pod实例数量,默认为1. # Defaults to 1. repl 阅读全文
posted @ 2023-12-14 14:41 小吉猫 阅读(31) 评论(0) 推荐(0) 编辑
摘要:Argo Rollouts 概述 Argo Rollouts 是一个 Kubernetes 控制器和一组 CRD,为 Kubernetes 提供高级部署功能,例如蓝绿、金丝雀、金丝雀分析、experimentation和渐进式交付功能。 Argo Rollouts(可选)与Ingress Contr 阅读全文
posted @ 2023-12-13 18:31 小吉猫 阅读(368) 评论(0) 推荐(0) 编辑
摘要:ApplicationSet 概述 ApplicationSet controller是一个 Kubernetes controller,添加了对 ApplicationSet CustomResourceDefinition (CRD) 的支持。该controller/CRD 实现了跨大量集群和 阅读全文
posted @ 2023-12-13 17:36 小吉猫 阅读(123) 评论(0) 推荐(0) 编辑
摘要:Project 概述 Projects负责为Application提供逻辑分组,它主要实现如下功能: 1. 限制可以部署的内容(指定受信任的Git Source仓库) 2. 限制Application可以部署到的目标位置(指定目标Cluster和Namespace) 3. 限制能够及不能够部署的对象 阅读全文
posted @ 2023-12-13 16:01 小吉猫 阅读(108) 评论(0) 推荐(0) 编辑
摘要:Application CRD apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: guestbook # You'll usually want to add your resources to the argocd 阅读全文
posted @ 2023-12-13 15:36 小吉猫 阅读(137) 评论(0) 推荐(0) 编辑
摘要:自动同步策略 当 Argo CD 检测到 Git 中所需的清单与集群中的实时状态之间的差异时,它能够自动同步应用程序。自动同步的好处是 CI/CD 管道不再需要直接访问 Argo CD API 服务器来执行部署。相反,管道会提交并推送到 Git 存储库,并对跟踪 Git 存储库中的清单进行更改。 P 阅读全文
posted @ 2023-12-12 18:05 小吉猫 阅读(732) 评论(0) 推荐(0) 编辑
摘要:Argoproj 概述 用于 Kubernetes 运行工作流程、管理集群和正确执行 GitOps 的开源工具。 Argoproj 组成 Argo Workflows 基于Kubernetes平台的原生工作流引擎,支持 DAG和step-based工作流。 Argo Events Kubernete 阅读全文
posted @ 2023-12-12 16:48 小吉猫 阅读(200) 评论(0) 推荐(0) 编辑
摘要:创建 ns argo-rollouts # kubectl create namespace argo-rollouts namespace/argo-rollouts created 安装 argo-rollouts # kubectl apply -n argo-rollouts -f http 阅读全文
posted @ 2023-12-11 18:58 小吉猫 阅读(128) 评论(0) 推荐(0) 编辑
摘要:创建 ns argocd # kubectl create namespace argocd namespace/argocd created 安装 argocd # kubectl apply -n argocd -f https://raw.githubusercontent.com/argop 阅读全文
posted @ 2023-12-11 16:58 小吉猫 阅读(109) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示