首页 > 系统相关 >argo-rollout使用--金丝雀结合ingress-nginx

argo-rollout使用--金丝雀结合ingress-nginx

时间:2024-01-16 16:45:58浏览次数:31  
标签:ingress name -- 金丝雀 nginx argo rollout Pod

1.金丝雀发布流程,安装比例发布,又名灰度发布

举例:共10pod

  • 第一批发布 30%
    • V1 : 10个Pod
    • V2: 3个Pod
  • 第二批发布 60%
    • V1 : 10个Pod
    • V2: 6个Pod
  • 第三批发布 100%
    • V1 : 10个Pod
    • V2: 10个Pod
  • 第四批发布
    • V2: 10个Pod (active)
    • V1: 0个Pod 

2.资源文件准备

文件放到:https://gitee.com/arionyu/k8syaml.git 

目录:argo/argo-rollout/金丝雀部署/ingresstest

ingress创建

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: demo-stable-ingress
  namespace: argo-rollouts
  annotations:
    kubernetes.io/ingress.class: nginx
    acme.cert-manager.io/http01-edit-in-place: "true"   #没有这个会导致All hosts are taken by other resources
spec:
  ingressClassName: nginx
  rules:
  - host: yuqiao.test.com
    http:
      paths:
      - backend:
          service:
            name: stable-service
            port:
              number: 80
        path: /
        pathType: Prefix

service创建

apiVersion: v1
kind: Service
metadata:
  name: rollout-bluegreen-active
  namespace: argo-rollouts
spec:
  ports:
  - nodePort: 30131
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: rollout-bluegreen
  sessionAffinity: None
  type: NodePort
---
apiVersion: v1
kind: Service
metadata:
  name: rollout-bluegreen-preview
  namespace: argo-rollouts
spec:
  ports:
  - nodePort: 30132
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: rollout-bluegreen
  sessionAffinity: None
  type: NodePort

rollout部署

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: simple-rollout
spec:
  replicas: 4
  strategy:
    canary:
      canaryService: canary-service  # required
      stableService: stable-service  # required
      trafficRouting:
        nginx:
          # Either stableIngress or stableIngresses must be configured, but not both.
          stableIngress: demo-stable-ingress
      steps:
      - setWeight: 30
      - pause: {}
      - setWeight: 60
      - pause: {}
      - setWeight: 100
      - pause: {}     
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        # image: nginx:1.21.1
        image: registry.cn-hangzhou.aliyuncs.com/yushihao/nginx:latest
        ports:
        - name: http
          containerPort: 80
          protocol: TCP
      imagePullSecrets:
      - name: aliharbor

 

标签:ingress,name,--,金丝雀,nginx,argo,rollout,Pod
From: https://www.cnblogs.com/aroin/p/17967988

相关文章

  • C语言学习随笔-11 作用域
     作用域:作用域是程序中定义的变量所存放的区域,超过该区域就不能被访问 C语言中有三个地方可以声明变量: - 在函数或块内部的局部变量。 - 在所有函数外部的全局变量。 - 在形式参数的函数参数定义中。1、局部变量intmain局部变量(){/*1、局部变量......
  • javascript node.js , java jvm , jdk, jre 的理解。
    网上的截图: 来看看node.js     再来看看java.     ......
  • 自动化注册组件和自定义指令
    在我们封装全局组件和封装全局指令后,需要在main.ts中频繁进行全局注册,以下将对这块进行优化一、自动化注册组件我们在进行组件注册时,使用的是下面这种形式:app.component('组件名称',组件)这样我们可以使用循环组件的形式来对组件进行注册1.在components文件夹......
  • react-query-builder查询构建器中文文档
    官方包https://www.npmjs.com/package/react-querybuilder官方演示https://react-querybuilder.js.org/demo/antd网友经验https://www.cnblogs.com/niyan/p/17414642.htmlimportReactfrom'react';importQueryBuilderfrom'react-query-builder';const......
  • vulnhub-toppo(suid提权sudo提权)
    环境准备靶机192.168.116.138攻击机kali192.168.116.130演示直接访问webadmin目录下存在密码本使用ssh连接,账号ted,密码12345ted123使用项目进行探测LinEnumhttps://github.com/rebootuser/LinEnum 存在python可以使用suid提权使用python反弹shell /usr/b......
  • 仿sina个人轻微博html静态网页模板
    一款最新的仿sina个人微博html静态网页模板(轻博客/轻微博/贴吧主页、qq社交空间主题),模板清新简洁、新颖,包含关注、粉丝、人气、个人资料、文章、视频等。比较适合类似爱装扮空间的女生,二次元动漫、插画绘画等内容的个人轻社交博客的模板主题。 模板主题特色:1......
  • 以 Golang 为例详解 AST 抽象语法树
    前言各位同行有没有想过一件事,一个程序文件,比如hello.go是如何被编译器理解的,平常在编写程序时,IDE又是如何提供代码提示的。在这奥妙无穷的背后,AST(AbstractSyntaxTree)抽象语法树功不可没,他站在每一行程序的身后,默默无闻的工作,为繁荣的互联网世界立下了汗马功劳。AST抽象......
  • Oracle如何安装配置ASMLIB
     Oracle如何安装配置ASMLIB 官方安装参考文档/链接https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/installing-and-configuring-oracle-asmlib-software.htmlFAQASMLIBCONFIGURE,VERIFY,TROUBLESHOOT(DocID359266.1)OracleLinux:Oracleasm......
  • 2024.1.16-每日进度笔记
    今天,尝试在jsp中上传图片并进行预览,同时将上传的图片等比例缩小到预览区域内。 参考:百度文心一言的回复。 <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><metacharset=&qu......
  • 大二打卡(12.23)
    uml作业:实现视图建模:(2)、绘制顺序图充值消费子系统:  身份识别门禁子系统: 校方卡片授权信息管理子系统:(3)、绘制协作图充值消费子系统: 身份识别门禁子系统: 校方卡片授权信息管理子系统: (4)、绘制活动图充值消费子系统: 身份识别门禁子系统: 校方卡片授权信息......