江西网站建设公司费用html网页设计工具

pingmian/2025/10/12 6:33:14/文章来源:
江西网站建设公司费用,html网页设计工具,技术外包网站,python网页版编辑器前言 部署在 Kubernetes 集群中的应用#xff0c;在升级发布时可能会存在的问题#xff1a; 1#xff0c;由于 Kuberneter 底层 Pod 容器生命周期与网络组件生命周期是异步管理的#xff0c;在升级时如果没有处理好应用优雅退出的问题#xff0c;就很容易导致 http 访问请…前言 部署在 Kubernetes 集群中的应用在升级发布时可能会存在的问题 1由于 Kuberneter 底层 Pod 容器生命周期与网络组件生命周期是异步管理的在升级时如果没有处理好应用优雅退出的问题就很容易导致 http 访问请求 5xx 2原生 Deployment 应用的滚动发布功能是一把梭的全量发布模式没有灰度和分批控制发布的概念一旦出现问题故障影响范围就会迅速扩大 这也是为什么需要灰度发布蓝绿发布彩虹发布金丝雀发布、A/B Test等多样化形式发布的重要原因核心目标只有一个就是为了确保服务的稳定性减少或避免因变更带来的不稳定因素 今天我们主要来聊下如何在不引入第三方插件的情况下来实现简单的灰度发布和蓝绿发布功能 通过 Ingress 实现灰度发布和蓝绿发布 在 Kubernetes 里面 Pod 的网络通信都是借助 Service 实现的Service 的底层是依赖 Iptables 或者 eBPF 加上 dns 技术实现的具体细节感兴趣可自行探索Ingress 负责 k8s 集群内外的流量通信本身属于七层负载的工作范围所以可以将流量反向代理到四层负载的 Service 中在七层负载中支持 Http 协议所以可以实现的功能更加强大 工作原理 Kubernetes 自带的 Ingress Controller 组件的底层是 Nginx 所以基于七层负载的能力我们就可以做更多与流量分配相关的功能目前基于 Nginx 的 Ingress 支持通过 HeaderCookie 和 Weight 三种流量切分的策略这三种策略又可以实现以下两种发布场景 按请求级别的灰度用户流量 通过 header 和 cookie 路由流量进行灰度 按比例级别的灰度用户流量 通过 weight 权重设置 支持的Nginx Annotation介绍 nginx.ingress.kubernetes.io/canary-by-header 基于Header的流量切分。如果请求头中包含指定的 header并且值为“always”就将该请求转发给Canary Ingress定义的对应后端服务。如果值为“never”则不转发可用于回滚到旧版本。如果为其他值则忽略该annotation并通过优先级将请求流量分配到其他规则。 nginx.ingress.kubernetes.io/canary-by-header-value 必须与canary-by-header一起使用可自定义请求头的取值包含但不限于“always”或“never”。当请求头的值命中指定的自定义值时请求将会转发给Canary Ingress定义的对应后端服务如果是其他值则忽略该annotation并通过优先级将请求流量分配到其他规则。 nginx.ingress.kubernetes.io/canary-by-header-pattern 与canary-by-header-value类似唯一区别是该annotation用正则表达式匹配请求头的值而不是某一个固定值。如果该annotation与canary-by-header-value同时存在该annotation将被忽略。 nginx.ingress.kubernetes.io/canary-by-cookie 基于Cookie的流量切分。与canary-by-header类似该annotation用于cookie仅支持“always”和“never”无法自定义取值。 nginx.ingress.kubernetes.io/canary-weight 基于服务权重的流量切分适用于蓝绿部署。表示Canary Ingress所分配流量的百分比取值范围[0-100]。例如设置为100表示所有流量都将转发给Canary Ingress对应的后端服务。 注解规则会按优先级进行评估优先级为canary-by-header - canary-by-cookie - canary-weight。 灰度发布 依赖资源2 个 Ingress 对象2 个 Service 对象两个 Deployment 对象 操作流程为服务创建两个 Ingress一个为常规 Ingress另一个为带有 nginx.ingress.kubernetes.io/canary: true注解的 Ingress称为 Canary Ingress在 Canary Ingress 上配置切分策略。 两个 Deployment 对象分别对应升级过程中的两个版本 v1v2 apiVersion: apps/v1 kind: Deployment metadata:name: py-hello-blue spec:selector:matchLabels:app: hellocolor: bluereplicas: 1template:metadata:labels:app: hellocolor: bluespec:terminationGracePeriodSeconds: 30containers:- name: helloimagePullPolicy: Alwaysimage: localhost:5001/py-http:1ports:- containerPort: 8888resources:requests:memory: 50Milimits:memory: 200Milifecycle:preStop:exec: command: [sleep, 5]# command: [/usr/bin/tini, --, bash, -c]command: [sh, -c]args:- |python app.py apiVersion: apps/v1 kind: Deployment metadata:name: py-hello-green spec:selector:matchLabels:app: hellocolor: greenreplicas: 1template:metadata:labels:app: hellocolor: greenspec:terminationGracePeriodSeconds: 30containers:- name: helloimagePullPolicy: Alwaysimage: localhost:5001/py-http:2ports:- containerPort: 8888resources:requests:memory: 50Milimits:memory: 200Milifecycle:preStop:exec: command: [sleep, 5]# command: [/usr/bin/tini, --, bash, -c]command: [sh, -c]args:- |python app.py 两个 Service 对象分别对应 v1v2 的Deployment apiVersion: v1 metadata:name: py-hello-blue-service kind: Service spec:selector:app: hello#color: greencolor: blueports:- name: webport: 8888protocol: TCPtargetPort: 8888type: ClusterIP apiVersion: v1 metadata:name: py-hello-green-service kind: Service spec:selector:# app: hellocolor: green# color: blueports:- name: webport: 8888protocol: TCPtargetPort: 8888type: ClusterIP 两个 Ingress 对象进行灰度流量的分配 kind: Ingress apiVersion: networking.k8s.io/v1 metadata:name: py-hello-ingress-normal spec:rules:- host: py-hello.test.comhttp:paths:- path: /pathType: Prefixbackend:service: port: number: 8888name: py-hello-blue-servicekind: Ingress apiVersion: networking.k8s.io/v1 metadata:name: py-hello-ingress-canaryannotations:kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/canary: true # 启用Canary#基于 Header 的灰度#nginx.ingress.kubernetes.io/canary-by-header: Region#nginx.ingress.kubernetes.io/canary-by-header-pattern: hz|lg #基于 Cookie 的灰度#nginx.ingress.kubernetes.io/canary-by-cookie: qdl # Cookie中包含user_from_bj的请求转发到Canary Ingress#基于 weight 的灰度 nginx.ingress.kubernetes.io/canary-weight: 20 # 将20%的流量转发到Canary Ingressspec:rules:- host: py-hello.test.comhttp:paths:- path: /pathType: Prefixbackend:service: port: number: 8888name: py-hello-green-service实现灰度发布就是把 canary 里面的流量分配策略进行修改即可 蓝绿发布 实现蓝绿发布就是在灰度发布的基础上把 canary 里面的weight流量分配权重改为 100 即可。 注意 相同服务的Canary Ingress仅能够定义一个从而使后端服务最多支持两个版本。即使流量完全切到了Canary Ingress上旧版服务仍需存在否则会出现报错。 总结 通过 ingress 进行灰度发布和蓝绿发布可以实现更加复杂的流量分配策略但对应的操作也变得复杂了对于大部分复杂的发布业务也足够用了这种方案也可以结合发布平台稍做封装比如一键创建新克隆版本切换流量配比设置流量策略等有了这些基础功能后再配合发布平台就可以流畅的操作了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站制作 万网wordpress 恢复默认

摘要: 特斯拉公司惨遭“毒手”是因为其Kubernetes平台没有设置密码保护。 点此查看原文:http://click.aliyun.com/m/43609/ 几个月前RedLock公司工作人员发现:数百个Kubernetes管理控制台无需密码即可访问,即直接公开暴露在互联网…

广告网站建设公司域名拍卖平台

linked from http://www.tompda.com/neirong.asp?id809 西门子新款A系列手机   首页 > 新闻资讯 提交 shizhi 2005-2-25  阅读:2739次 10篇评论 西门子公司近日推出了A系列手机,A系列手机作为入门级手机,设计和功能十分简洁和实用。 西门子A70:设…

做车身拉花的网站高端网站建设域名注册

开坑个新系列,主要面向新手,老司机可以忽略。这个系列内的文章将会让你知道如何做到让你写的爬虫在运行的时候速度能像火箭一样快!很多初学爬虫的朋友对于这方面的知识似乎是空白的,甚至还有一些在爬虫岗位上工作了一两年的人也搞…

济南网站优化公司艾乎网wordpress 利用页面搞

首先在simlink中找到HDL CODER 打开红色Blank DUT,进入里面绿色的子系统开始设计系统 例如设计一个正弦信号发生器,里面用到了add、memory、relation operator、switch、constant、cos模块,cos模块选择了cordic算法,使用cordic那…

免费网站推荐货源wordpress 图片 alt

目录 1. Spring 概述 1.1 Spring是什么 1.2 Spring的作用 1.3 Spring IoC是什么 2. Spring 快速入门 3. Spring Bean 3.1 的实例化方式 空参构造器 3.2 的属性注入 全参构造器注入 setter方法注入 策略模式 3.3 注解管理 3.4 注解方式的属性注入 1. Spring 概述 …

jsp网站开发公司wordpress自动超链接

基础知识 NLP-分词器:SentencePiece【参考Chinese-LLaMA-Alpaca在通用中文语料上训练的20K中文词表并与原版LLaMA模型的32K词表进行合并的代码】_sentencepiece 中文训练-CSDN博客 【OpenLLM 008】大模型基础组件之分词器-万字长文全面解读LLM中的分词算法与分词器…

站酷海洛带网站的图片素材

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

乐清住房和城乡建设部网站官网怎么优化网站关键词的方法

Spark 是一个开源的分布式计算框架,旨在处理大规模数据集的快速计算和分析。下面是 Spark 的主要组件及其任务分工的详细介绍: Driver(驱动器):【任务调度】 负责整个 Spark 应用程序的执行和协调。解析用户程序&#…

桂林北站附近有什么好玩的网站设计推广

(第一阶段)问题 5a(3 分) 实现该函数,该函数模拟了完整的 Hog 游戏。球员 交替轮流掷骰子,直到其中一名玩家达到分数。playgoal 您现在可以忽略 Feral Hogs 规则和论点; 您将在问题 5b 中实现它。feral_h…

平面设计类网站有哪些做网站建设公司crm在线的培训服务

文章目录 炸铁路题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题意解析思路CODE 炸铁路 题目描述 A 国派出将军 uim,对 B 国进行战略性措施,以解救涂炭的生灵。 B 国有 n n n 个城市,这些城市以铁路相连。任意两个城市都可以通…

大连网站建设外包公司商丘网络第一媒体

在流媒体项目中字幕显示是不可或缺的一环,一般会有字幕流在视频播放过程中进行显示;不过还有很多情况是从头到尾只在视频的某个区域显示某些文字,例如某个电视台的log;这种也称为字幕,如果想要将这些字符串显示到视频&…

西乡县门户网站宁波市网站排名优化

先贴上关于使用这个日志组件的一些使用方法,等有时间了在吧官方的文档翻译一下吧,现在真是没时间。 Serilog在使用上主要分为两大块: 第一块是主库,包括Serilog以及Serilog.AspNetCore,如果导入后一个的话会自动导入前…

国内虚拟助手网站国外打开网站会不会乱码

参考资料:https://blog.51cto.com/u_11984354/4907646 NO.21-SAP S4 HANA Cloud API接口测试(1)-CSDN博客

dede网站名称不能保存网站开发与建设方向

前面学习了一个简单的例子,这是多年来学习应用程序开发的经典路径,在这里也是这种待遇,通过这样的学习明白了一个简单应用是怎么样构成的,知道它是怎么运行输出的。在这个基础之上,你还是不会开发应用程序的,因为你还没有学习鸿蒙应用的开发语言基础,所以在这里要学习一…

抚顺市 网站建设中国移动积分兑换商城官方网站

资料仅供学习分享用,废话不多说,解压密码为:1024文件是切割压缩的,多个part的压缩包,大家需要先下载到本地在解压,直接百度云解压会提示压缩包损坏。------------------------------学习资料java&#xff1…

免费一键自助建站官网软件开发5个过程

什么是HTTP压缩cssHTTP压缩是指: Web服务器和浏览器之间压缩传输的”文本内容“的方法。 HTTP采用通用的压缩算法,好比gzip来压缩HTML,Javascript, CSS文件。 能大大减小网络传输的数据量,提升了用户显示网页的速度。固然,同时会增长一点点服…

建网站申请济南营销型网站制作

-----2017.11.16 最后一次更新----- 小夕也真的没有想到,在万般绝望之时竟然得到了这么多人的帮助。在本文发出后,多位阿里人员积极联系我了解了情况,很感激一位阿里的专家帮我将此事递交给相关部门,让专业的客服直接受理和重审此…

防制网站怎么做wordpress主页视频

作者: 陈斌(redguardtoo) 更新时间: 2012-02-10 五 原创时间: 2012-01-31 周二 15:08 很容易.一年多前我还在Vi阵营,偶尔使用Emacs还总是忘记退出(C-x C-c)的快捷键,但是一年后我跨入高手行列. 现在网上很多中文文章都是和你强调Emacs有多牛,以激发你的兴趣.最有名的大概是王垠…

中山企业网站建设定制现在都用什么做网站

NaN 是什么 在C中,NaN(Not a Number)是一种特殊的浮点数值,用于表示无法表示的数值或未定义的操作,例如0除以0。如果你的double类型变量显示为NaN,那么可能是在计算过程中出现了这种未定义的操作。 如果你…

如何将别人的网站作为自己的网站报错401

源码简介 超级外链工具,是一款在线全自动化发外链的推广工具。使用本工具可免费为网站在线批量增加外链,大大提高外链发布工作效率,是广大草根站长们必备的站长工具。 搭建环境 PHP 5.6 安装教程 上传源码压缩包到网站目录并解压即可 首…