版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Kubernetes is hard!JFrog的Kubernetes技术架构实践Kubernetes is hard!摘要JFrog内部的Kubernetes实践我们正在做的:JFrog的应用和服务全面Kubernetes化内部的研发和测试环境全面Kubernetes化我们要分享的:实践中积累的教训和经验JFrog的Kubernetes之旅我们要解决的问题为JFrog产品提供新的交付方式无法快速搭建JFrog产品的全功能测试环境无法实现按需使用:开发、测试、技术支持、产品、解决方案。任意团队无法为每个分支提供独立的CI/CD流水线支撑无法让研发有独立的沙箱环境进行自测CI/CD流程混乱JFr
2、og的Kubernetes之旅实践的成果为客户提供全产品线的Helm Charts交付方式Helm install stable/Artifactory-ha云端服务Kubernetes化GoCenter: http:/gocenter.io产品的CI/CD直接对接到Kubernetes环境每周部署100+不同产品线、任意版本组合的测试环境,每次部署超过50种微服务为每个研发、每个分支,按需提供完全独立的测试环境抛砖引玉JFrog内部的Kubernetes实践起步:熟悉Kubernetes规划:面向Kubernetes的改造编排:Helm Charts部署:自动、监测安全:DevSecOpsJ
3、Frog的Kubernetes之旅起步:熟悉Kubernetes小处入手胖子不是一口吃出来的起步:你真的了解Kubernetes吗?胖子不是一口吃出来的你的第一个Kubernetes Cluster公有服务:AKS、EKS、GKE、阿里、腾讯、。私有部署:Rancher、miniKube、。自 己 探 索 :Kubernetes The Hard Way,Kelsey Hightower /kelseyhightower/kubernetes-the-hard-way你的第一个Kubernetes应用从小的示例应用开始,如Nginx每次只设定一个小的、具体的目标充分利用现有的教程和演示JFro
4、g的Kubernetes之旅准备:面向Kubernetes的改造应用改造磨刀不误砍柴功准备:你的应用准备好了吗?磨刀不误砍柴功把应用装进Docker是远远不够的日志STDOUT/STDERR处理足够多的日志文件持久化数据哪些数据需要持久化存储?合理地处理SIGTERM信号Shutdown必须是受控的Recovery必须是容易的重启如何处理上一次运行的遗留数据?准备:你的应用准备好了吗?磨刀不误砍柴功高可用将是新的标准配置保证良好的持久性和可用性支持同时运行多个应用实例支持负载均衡Scale-up、Scale-down必须是顺 畅的不停机的滚动升级保证向后兼容K8s调整中的0宕机Cluster
5、Scale-up、Scale-down计划中的Node维护非计划的Node宕机准备:你的应用准备好了吗?磨刀不误砍柴功The Twelve-Factor App ( https:/12/zh_cn/ )基准代码:一份基准代码,多份部署依赖:显式声明依赖关系配置:在环境中存储配置后端服务:把后端服务当作附加资源构建,发布,运行:严格分离构建和运行进程:以一个或多个无状态进程运行应用端口绑定:通过端口绑定提供服务并发:通过进程模型进行扩展易处理:快速启动和优雅终止可最大化健壮性X.开发环境与线上环境等价:尽可能的保持开发, 预发布,线上环境相同日志:把日志当作事件流管理进程:后台管理任务当作一次性
6、进程运行JFrog的Kubernetes之旅规划:面向Kubernetes的改造配置改造没有规矩,不成方圆一个好汉三个帮规划:你运行环境的资源限制设置好了吗?没有规矩,不成方圆运行环境的资源使用必须是受限的Pod的资源限制! Pod的资源限制! Pod的资源限制!应用本身也需要资源限制Java-Xms=1g-Xmx=2gRabbitMQrabbitmq.conf total_memory_available_override_value = 1GB resources: requests:memory: 1Gi cpu: 100m limits:memory: 2Gicpu: 250m.规划:
7、你应用运行状态的监测设计好了吗?没有规矩,不成方圆应用的运行状态必须有可信的健康数据readinessProbe应用就绪了吗?livenessProbe应用还能正常的提供服务吗?探针类型Exec - return 0 on successHttp - return Pre-Prod-ProdMicro-Abundle-1.0 Front-1.0.tarBackend-2.0.jarMetadata: micro-a-1.0.qa.test.result = OK分级MetadataSIT - UAT - Pre-Prod-Prodbackend-1.0.jar Metadata:qa.test
8、.result = OKqa.code.result = OK project.revision = ASDASSACbinary.config.path=backend/dev/1.0 deploy.pre-prod.result=OKLocal - DevJFrog的Kubernetes之旅流程:监测 跟踪部署运筹帷幄,决胜千里监测:你的应用还好吗?运筹帷幄,决胜千里需要新的监测手段了ssh不管用了直接用kubectl调试也是不合适的Dev/Ops应该能方便地访问可信的数据监视日志基于可控的OOB(Out-of-Band)工具监测:你的应用还好吗?运筹帷幄,决胜千里监视Prometheus
9、Grafana监测:你的应用还好吗?运筹帷幄,决胜千里日志EFK StackFluentdElasticSearchKibana监测:你的应用还好吗?运筹帷幄,决胜千里微服务监测的五大基本原则 ( https:/thenewstack.io/five-principles-monitoring- microservices )监测容器,同时也要监测容器内运行的应用监测业务自身的性能,而不是容器的性能监测具有弹性,以及多地部署的服务监测API微服务的监测体系要匹配组织架构安全:DevSecOps安全:DevSecOps安全:外部依赖的安全漏洞Docker30%的DockerHub上的镜像有安全漏
10、洞NPM14%的NPM包有安全漏洞Maven59%的已知安全漏洞还没有解决MTTR(平均修复时间):290天CVSS10: 265天安全:DevOpsSecCommitBuild ImageHelm ChartSecurity ScanningUpload Artifact to ArtifactoryDeployMonitorTest(AutomatedManual)安全:DevOpsSec扫描、定位、分析安全:DevOpsSec安全检查左移Visual StadioIDEAEclipseThe EndJFrog内部的Kubernetes实践起步:熟悉Kubernetes规划:面向Kubernetes的改造编排:Helm Charts部署:自动、监测安全:DevSecOps协作:你想
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年金融监管政策与法规专项训练题库
- 2026年环境保护与生态修复知识测试
- 2026年幼儿问题解决能力评估习题
- T∕CTCA 34-2026 软壳服装分类规范与功能要求
- 保洁员清洁工作心理素质试题及答案
- 探秘保山税务管理考试试题及答案
- 现当代文学上模拟考试试题及答案
- 酒泉小升初各科试题及答案解析
- 2026年农村卫生防疫知识普及考试试题
- 2026年城市公共安全知识及试题
- 2026年秋期人教版部编版小学数学四年级上册全册教学计划教案
- (2026秋新版)北师大版六年级数学上册全册教案
- 2026年云南二级造价师真题及答案解析
- 2026中国医疗器械CDMO行业订单结构变化与利润率走势
- 2026年湖北省黄冈市重点学校小升初入学分班考试语文考试试题及答案
- 化工行业事故案例警示学习课件
- 小区物业整体服务方案投标文件(技术方案)
- MT/T 146-2025树脂锚杆
- 京东生鲜冷链物流合同
- 尾矿库工程施工总体方案设计
- 2026年一级建造师之一建矿业工程实务考试题库300道及完整答案(易错题)
评论
0/150
提交评论