谐尘课堂 | 尘原生业务上尘迁移的最佳实践
2025-05-08 通信
电源最大解构工程建设
电源最大解构键值工程建设,主要指的是重新部署电源最大解构Ingress-Controller键值工程建设。
新项目需求值大,敦促先行工程建设好电源最大解构键值;按照企业不应忽视适度工程建设电源最大解构,相同种类的新项目可以可用相同的IngressController的键值,比如不应忽视新项目和非不应忽视新项目可以可用相同的PC。电源最大解构为数值工程建设,主要指的是电源最大解构键值上重新部署电源最大解构为数值,均需注意到同录音机PC上同的网络的电源最大解构适配器冲突疑问:
分立工程建设HTTP/HTTP适配器仅限于,以及nginx的配有早先;按照企业类别工程建设相同的HTTP/HTTPS适配器;企业允诺值大的分开敦促工程建设一个适配器。电源最大解构TCP/UDP适配器工程建设,主要指的是IngressController的TCP/UDP适配器工程建设:
SDK分立工程建设好TCP适配器仅限于;HTTP一站式敦促可用http里面面华人民共和国政府一站式模式,需注意到TCP适配器;按照企业工程建设也就是说的TCP适配器池。
事例一:多的网络明确来说且新项目需求值小
在K8S空降兵里面面,分开工程建设各别电源最大解构键值(两台及两台以上)分别重新部署各个的网络明确来说的电源最大解构(80/443适配器),各个的网络明确来说的电源最大解构分别改由自己的网络明确来说的领明确来说。
事例二:多的网络明确来说且新项目需求值大
在大需求值K8S空降兵里面面,为大流值或框架的企业分别在各的网络明确来说工程建设各别电源最大解构键值,担负其企业;其他通用的企业另工程建设各别电源最大解构键值。
终端资流工程建设
基石公共终端:
SDK敦促给予分立管理系统基石终端;基石终端大小尽值小, 轻值级的领明确来说便于大需求值空降兵里面面快速数据传输分发,更受管制桶内敏捷的理念;基石终端正式版工程建设,便于基石终端预览和适配;基石终端给予分立的适配器工程建设,便于监视,如tomcat终端敦促可用分立的web适配器(8080);基石配有参为数从另有部解构,配有参为数从另有部解构于配有文档或者注册表,便于领明确来说桶内适配相同的行驶状况;基石终端通过必需扫描;集成常用的工具立即以及内网流;企业终端:
每个新项目每个空降兵敦促有自己的握有者终端谷仓;握有者终端谷仓搬运规则管理兼职:SDK可以给予分立的搬运规则,比如保留每个终端的最近10个正式版;新项目又可以定制自己的搬运规则;新项目的基石终端与领明确来说的终端名称敦促分开,基石终端预览kHz低,容易被误搬运。终端谷仓备份,敦促开启终端备份功能数据传输资流工程建设
远程资流共享数据传输,尽值可用非很低IO和非很低实时适度过场,领明确来说笔记不敦促放到资流共享数据传输,敦促可用EmptyDir模式预设,可用其他笔记查阅组件查阅。
须要复用本地数据传输,数据传输IO很低的领明确来说不敦促资流共享数据传输,可以引用本地数据传输,如CIRISC相反,公共相反(如公共ja的本地谷仓录入,npm寄存器录入)不敦促可用资流共享数据传输,可以可用本地数据传输,资流共享数据传输相反的网络,影响构建一段时数间。
02
领明确来说上碧
领明确来说上碧图谱
不引荐桶内解构
领明确来说单个示例资流均需求巨大的领明确来说均须要一般来说接口,或者是须要相反特定接口等;也就是说用程序有相反或者也就是说用程序有操控的领明确来说;非UTF-8编码的领明确来说。可以桶内解构
对IO等行驶状况建议相当很低的领明确来说;很低效能计算的领明确来说;Windows领明确来说商用解构领明确来说;多的网络领明确来说;引荐桶内解构
功能单一的单的网络领明确来说;无完全的领明确来说;变更长时数间的领明确来说;有重复重新部署均需求的领明确来说;具备横向扩展能力的领明确来说。终端包被最佳有管理系统
企业等终端包被最佳有管理系统:
可用必需的基石终端,并展开必需扫描;如此一来可用分立基石终端,增加终端由上而下的复用适度;减极多终端的层为数,尽值把一些功能上面分立的立即合到一起来动手;尽值可用yum,apt-get等在线安装模式安装软件包被,并注意到搬运其里面面数间产物,比如一些安装包被在装完之后就把它删掉;尽值可用分开录入展开终端否决,减极多空数间内损耗;多阶段展开终端构建,确保终端最整洁/最大者;可用CMD exec行驶模式;尽值去构建寄存器,尽值把一些相同的东西或者变动相当极多的东西放置此前面,因为相同的东西是可以被寄存器的,如果不想可用寄存器,则可以在docker build时去除--no-cache=true选项;可用COPY而非ADD;可用visor 、S6等init的网络管理兼职多个的网络;分立工程建设领明确来说安装路径和触发JaScript,如分立为/root/app;领明确来说配有参为数从另有部解构,可用注册表、配有文档模式注入。桶内迁移步骤最佳有管理系统
领明确来说桶内解构步骤最佳有管理系统
03
领明确来说管理兼职
领明确来说桶内解构应当
领明确来说桶内解构均须要满足都有的应当:
不要在桶内里面面数据传输为元数据· 由于桶内是一次适度的,当桶内被暂停、丢弃或替换时,领明确来说在桶内里面面数据传输的为元数据同样时会被丢弃。如果领明确来说均须要数据传输为元数据,均需数据传输在资流共享为元数据数据传输里面面。
不要发布两份领明确来说· 一些人将桶内当作虚拟机。他们里面面的大多为数极端于认为他们不应在现有的行驶桶内里面发布自己的领明确来说。在技术开发阶段这样是对的,此时你均须要不断地重新部署与调试;但对于质值保证与生产里面面的一个连续重新部署的管道,你的领明确来说本该带进终端的一以另有。记下:桶内不应保持相同。
清除不必要的包被和文档· 桶内的一个显著特点是秒级触发,一旦录制了一个超大的终端将根本无法分发。在终端里面面不应确保仅行驶领明确来说/的网络的必均需的文档和库共存,其他不必要的包被、文档等敦促领明确来说包被此前展开清除。
不要在桶内里面面行驶多个的网络· 桶内能完美地行驶单个的网络(http城主的网络,领明确来说一站式器,为元数据库),但是如果便是有一个的网络,管理兼职、获取笔记、独立预览都时会遇到烦。
如此一来设计成无完全· 无完全一站式能够更易的动手技术水平扩展,可以动手到快速配套。
一站式配有与桶内终端内容受控· 不要在领明确来说里面面写死一站式的IP和适配器(如为元数据库IP和适配器、一站式接口IP和适配器),改用明确来说名的模式。注册表不应以传参的原则上概念传入桶内,而不是如此一来写死在桶内里面面,均须要的注册表可只读数据处理文档里面面。
可用非root浏览器行驶· docker桶内默认以root行驶。随着docker的成熟,越来越多的必需默认选项愈发可用。允诺root是有可能的,可能无法在所有状况里面面可用。所以终端不应可用USER立即来指令桶内以一个非root浏览器来行驶。
不要相反IP接收者· 每个桶内都有自己的框架IP接收者,如果你触发并暂停它接收者可能时会变解构。如果领明确来说或微一站式均须要与其他桶内收发,由于桶内IP是不一般来说的,领明确来说相反IP接收者将无法与其他桶内收发,可以可用K8S框架dns代替ip接收者配有原则上概念与其他桶内展开收发。
控制输出到stdout和stderr的笔记只读值笔记改用集里面面解构处理方式提议改用独立的桶内处理方式定时任务不要在终端里面面数据传输凭据· 不要将终端里面面的任何浏览器名/密码写死。可用注册表来从桶内从另有部获取此信息。
领明确来说终端tag可用有约束
重新部署桶内终端时,防止可用latest tag:
根本无法侦测当此前重新部署的终端正式版;根本无法展开回滚操控;ImagesPullPolicy为IfNotPresent时,本地终端不时会预览。每个终端tag可用领明确来说正式版号来标识。
领明确来说病患有约束
领明确来说健检查有约束是解决疑问很低效率运维的不应忽视组成以另有,也是管理系统事故管理系统会发现和自我恢复的不应忽视手段。目此前有两种病患模式,分别是的网络级和企业级。
的网络级病患是Kubernetes本身具备的,它用来检验桶内的网络确实存活,是默认开启的。
企业级的病患由企业解决疑问,它有三点建议:
须要要检查自身框架企业确实正常人;病患程序执行一段时数间要极多于病患周期;病患程序耗尽资流要确实控制,防止出现一站式抖动。领明确来说病患解决疑问
病患程序在相同状况下有着相同的解决疑问:
web一站式下改用HTTP GET模式展开病患,均须要解决疑问类似一个“/healthz”URL,这个URL也就是说的程序均须要检查所有框架一站式确实正常人,病患程序还不应在数间歇性完全输出每一个检查项的完全明细。其他的网络一站式下可以改用实地桶内指定适配器完全来假定桶内生活品质完全。非的网络一站式下均须要在桶应用程序心执行特定立即,根据退出码假定桶内生活品质完全。PC的网络模式
一般领明确来说不敦促可用PC的网络。如果可用PC的网络模式,均须要回避都有疑问:
防止与PC其他管理系统适配器冲突;多示例一站式均须要自愿分散,重新部署在相同的PC上;防止桶内事故或者桶内所在的PC出现事故,敦促引入额另有的电源最大解构器或其他工具来防止分开事故。领明确来说数据传输卷另设
将数据传输放置与桶应用程序心
好处:配有简单,便于桶内示例技术水平扩展;数据传输适度能也和宿PC上触发相当,几乎不会额另有的损耗。缺陷:桶内丢弃或删除,桶内内的数据传输也时会被丢弃,为元数据无疑解构相当困难;同时,在企业逻辑上建议每个桶内示例数据传输文档相互不会管理兼职。Volume种类选取:可用EmptyDir种类,可以可让一个Pod内多个桶内资流共享;也可以不应用任何Volume种类,由桶内涡轮引擎管理兼职领明确来说的文档数据传输。受管制过场:受管制无完全桶内领明确来说,在管理系统行驶流程里面面归因于的临时文档可以被保共存桶内的数据传输空数间内里面。指引:均须要回避数据传输空数间内的管制。将数据传输预设在从另有部宿PC上
好处:为元数据不时会因桶内丢弃而出错,可永久遗留;数据传输适度能与如此一来在天体物理学机可用相当,不会硬盘I/O的额另有损耗。缺陷:多示例的领明确来说在同录音机宿PC上的录入配有变的复杂,建议示例对数据传输的可用互补干扰;历史为元数据在初期企业里面面仍均需可用,均须要将桶内领明确来说与PC形成绑定关系,不利于领明确来说在事故恢复时选用其他可以的键值重建。Volume种类选取:可用HostPath种类,将宿PC录入预设到桶内内;可用local种类的PV,如lvm受管制过场:受管制有完全桶内领明确来说,以及对硬盘I/O适度能建议很低的领明确来说,同时这类领明确来说不应不会不对技术水平扩展;还均须要通过其他机制解决疑问数据传输很低可用保护,如可以可用为元数据远程备份为元数据。指引:均须要回避数据传输空数间内的管制;防止多示例行驶在同录音机PC。可用从另有部资流共享数据传输
好处:配有简单,为元数据的无疑解构、备份都由资流共享数据传输给予解决提议,也便于桶内的技术水平扩展。缺陷:由于资流共享数据传输多是的网络数据传输,所以在展开文档算数时均须要经过的网络数据传输,数据传输适度能相当差。Volume种类选取:可用PV或者StroageClass种类的Volume。受管制过场:受管制对硬盘I/O适度能建议不很低的领明确来说。指引:均须要回避PV数据传输空数间内的管制;均须要回避数据传输的适度能。领明确来说弹适度伸缩管理兼职
领明确来说弹适度伸缩有都有几种模式:
手工艺扩缩容· 领明确来说过场:手工艺扩缩容通常常用必需知道企业值的变解构的原因,如有计划的市场竞争促销文艺活动,可以必需通过手工艺模式对Pod终端技术水平配套,已大幅提很低对意味著增加值的默许,在企业很低峰紧接著,意味著企业值增很低,也可以手工艺模式缩减桶内示例释放管理系统资流。
· 局限适度:手工艺模式对于不应在短期内的突发企业值的变解构很难给予默许。
基于CPU/寄存器可用率的管理系统会扩缩容· 领明确来说过场:在CPU/寄存器可用率提很低时能够技术水平扩展来未完成更多企业。
定制企业举例来说的管理系统会扩缩容· 领明确来说过场:可以通过监视等组件来解决疑问定制企业举例来说给HPA控制器展开扩缩容决策。
基于大概展开扩缩容· 领明确来说过场:有明显企业值特征有序的领明确来说,另设大概展开示例扩缩,如白天企业值相当多,半夜企业值极多,就可以另设也就是说的大概,在白天展开示例扩增,半夜展开示例缩容。
企业无感知弹适度伸缩
领明确来说过场:当企业值临近触发阻抗,时会长时数间触发企业弹适度伸缩;当此前弹适度缩容流程里面面共存出错连接,Pod尚尚未处理方式完允诺就被Kubelet自愿丢弃,从⽽影响⼩以另有企业。
提议:
根据一段时数间点扩缩容扩缩容举例来说分开配有比如大幅提很低CPU 80% request值展开配套,大幅提很低CPU30%的值缩容寄存器类似解决CPU or Memory在一定一段时数间窗口内飙很低造成企业延时,影响浏览器互动的疑问c. 增加Prestop 优雅重启
d. 企业后侧优解构
优雅处理方式SIGTERM信号。e. 重写缩容窗口一段时数间
重写弹适度伸缩桶内的触发立即,增加如下参为数:--downscaleForbiddenWindow=3003
领明确来说上碧里面面遇到的疑问
终端不应包被含哪些内容
桶内终端不应包被含都有内容:
原则上的OSS原则上的语言行驶状况,如lib、bin文档可行驶的程序包被除从另有部相反另有,终端可以分开行驶,如果桶内行驶时均须要相反的一些插件,可以通过init container来展开为元数据的预热和预处理方式。
桶内时差配有
很多官方终端都可用的是UTC时差,我们可用这些终端时,均须要把时差展开重写为CST时差,我们可以在录制领明确来说终端时就对时差动手错误的配有,防止初期桶内行驶时一些出现一段时数间不错误疑问。
或者在重新部署领明确来说时,改用Volume预设的模式预设宿PC的localtime文档模式。
桶内里面面字符集配有
可用官方终端作为Base终端,经常时会偶遇在桶内的控制台输出录入,时会推断里面面文乱码;或者领明确来说标准笔记输出的笔记推断为乱码。推断乱码疑问可以通过在Dockerfile里面面指定字符集来展开解决。
Ja领明确来说寄存器配有
桶内终端的桶内解构后的Ja领明确来说(Ja9之此前),行驶一段一段时数间后时会因总寄存器超过cgroups管制不断据报导。
一个Pod寄存器重新分配预估:
Ja均须要可用的寄存器:· 堆寄存器:X
· 类加载区:64M/128M/256M
· 文件管理系统占用:256KB/1M *N ~~ 250M-1.5G
· 代码寄存器:48M/96M/240M
· JVM其他寄存器:有约几十~100MB
· 堆另有寄存器:尚未管制,均需调整为256M~600M
操控管理系统可用:有约200多MJa领明确来说的Pod总寄存器引荐重新分配:Ja堆寄存器*1.5/2倍;
空降兵框架访问期数间
同的区一站式数间的函数调用
在的区namespacea下,有两个一站式,分别为一站式A(svca):80、B(svcb):80和有完全一站式M(空降兵模式:M-0为主,算数;M-1为从,null):3306,一站式A函数调用一站式B,则在一站式A里面配有B一站式接收者为svcb:80或svcb.namespacea:80,一站式B调研一站式M,则在一站式B里面面配有M-0.M:3306和M-1.M:3306。相同的区一站式数间的函数调用
在上述的区namespacea的基石上,另一个的区namspaceb下,有一个一站式C(svcc),一站式C均须要函数调用namespacea的区的A一站式,则在一站式C里面配有A一站式接收者为svca.namespacea:80,并且C一站式均须要访问期数间的区namespacea下的有完全一站式M,则在一站式C里面配有M-0.M.namespacea:3306和M-1.M.namespacea:3306从另有部访问期数间空降兵内一站式
通过电源最大解构器(F5/Ingress-Controller)改由。
空降兵另有的一站式函数调用空降兵内的一站式均须要通过空降兵内一站式里面面华人民共和国政府暴露的模式,SDK默许HTTP和TCP/UDP模式暴露一站式。通过NodePort或者LoadBalancer向另有暴露。
如此一来访问期数间桶内(不敦促)
基于以另有的SDK的网络提议,空降兵另有的一站式可以如此一来通过PodIP+桶内适配器就可以解决疑问访问期数间。空降兵内访问期数间空降兵另有一站式
如此一来访问期数间空降兵另有一站式明确来说名或IP。
访问期数间空降兵框架一站式名
通过SDK始创从另有部一站式。例如为元数据库、企业级等一站式注册为SDK框架一站式,并归因于框架一站式名。。吃冷饮拉肚子怎么办长期便秘吃什么药好
经常拉肚子怎么办
孩积食怎么办
促进伤口愈合
类风湿关节晨僵怎么治疗好
谈咳宁能治疗咳嗽咳痰吗
牙痛怎么止痛最快
阳了要吃什么药
儿童咳嗽有黄痰喝什么止咳糖浆
- 05-10痴迷游戏23年!86岁大爷安慰:喜获全球唯一限量款PS5
- 05-10南钢股份:2021年解决问题净利润40.91亿元,同比增长43.75%
- 05-10DOTA2:2022 DPC中国联赛11月底29日开战
- 05-10伦镍打开跌停板 业内预期价格回归也就是说区间
- 05-10周二BDI在此期间下跌
- 05-10《堡垒之夜》第二章将于12月末4日结束
- 05-10伦敦金属纽约证券交易所称目前不打算禁止俄罗斯金属在其系统中交割
- 05-10USDA:3月17日当周旧金山大豆出口检验量报告
- 05-10《卡比色彩重制版》两个多月出修复补丁引不满
- 05-10浙商期货:钢材商品价格两弱加剧