收藏 分享(赏)

15. 高欣《JFrog的Kubernetes实践》.pdf

上传人:nanchangxurui 文档编号:6845869 上传时间:2022-08-17 格式:PDF 页数:44 大小:21.06MB
下载 相关 举报
15. 高欣《JFrog的Kubernetes实践》.pdf_第1页
第1页 / 共44页
15. 高欣《JFrog的Kubernetes实践》.pdf_第2页
第2页 / 共44页
15. 高欣《JFrog的Kubernetes实践》.pdf_第3页
第3页 / 共44页
15. 高欣《JFrog的Kubernetes实践》.pdf_第4页
第4页 / 共44页
15. 高欣《JFrog的Kubernetes实践》.pdf_第5页
第5页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Kubernetes is hard!JFrog的Kubernetes实践快速发布 谁与争锋主讲人介绍 JFrog架构师 博士 前IBMer 软件产品/云服务 研发、测试、运维、服务 敏捷、DevOpsKubernetes is hard!摘要 JFrog内部的Kubernetes实践我们正在做的: JFrog的应用和服务全面Kubernetes化 内部的研发和测试环境全面Kubernetes化我们要分享的: 实践中积累的教训和经验JFrog的Kubernetes之旅我们要解决的问题 为JFrog产品提供新的交付方式 无法快速搭建JFrog产品的全功能测试环境无法实现按需使用:开发、测试、技术

2、支持、产品、解决方案。任意团队 无法为每个分支提供独立的CI/CD流水线支撑无法让研发有独立的沙箱环境进行自测CI/CD流程混乱JFrog的Kubernetes之旅实践的成果 为客户提供全产品线的Helm Charts交付方式Helm install stable/Artifactory-ha云端服务Kubernetes化GoCenter: http:/gocenter.io 产品的CI/CD直接对接到Kubernetes环境每周部署100+不同产品线、任意版本组合的测试环境,每次部署超过50种微服务为每个研发、每个分支,按需提供完全独立的测试环境抛砖引玉JFrog内部的Kubernetes实

3、践起步:熟悉Kubernetes规划:面向Kubernetes的改造编排:Helm Charts部署:自动、监测安全:DevSecOpsJFrog的Kubernetes之旅 起步:熟悉Kubernetes小处入手胖子不是一口吃出来的起步:你真的了解Kubernetes吗?胖子不是一口吃出来的 你的第一个Kubernetes Cluster公有服务:AKS、EKS、GKE、阿里、腾讯、。私有部署:Rancher、miniKube、。自己探索:Kubernetes The Hard Way,Kelsey Hightowerhttps:/ 你的第一个Kubernetes应用从小的示例应用开始,如Ng

4、inx每次只设定一个小的、具体的目标充分利用现有的教程和演示JFrog的Kubernetes之旅 准备:面向Kubernetes的改造应用改造磨刀不误砍柴功准备:你的应用准备好了吗?磨刀不误砍柴功把应用装进Docker是远远不够的 日志STDOUT/STDERR处理足够多的日志文件 持久化数据哪些数据需要持久化存储? 合理地处理SIGTERM信号Shutdown必须是受控的Recovery必须是容易的 重启如何处理上一次运行的遗留数据?准备:你的应用准备好了吗?磨刀不误砍柴功高可用将是新的标准配置 保证良好的持久性和可用性 支持同时运行多个应用实例支持负载均衡Scale-up、Scale-do

5、wn必须是顺畅的 不停机的滚动升级保证向后兼容 K8s调整中的0宕机Cluster Scale-up、Scale-down计划中的Node维护非计划的Node宕机准备:你的应用准备好了吗?磨刀不误砍柴功The Twelve-Factor App ( https:/ )I.基准代码:一份基准代码,多份部署II.依赖:显式声明依赖关系III. 配置:在环境中存储配置IV. 后端服务:把后端服务当作附加资源V.构建,发布,运行:严格分离构建和运行VI. 进程:以一个或多个无状态进程运行应用VII. 端口绑定:通过端口绑定提供服务VIII.并发:通过进程模型进行扩展IX. 易处理:快速启动和优雅终止可

6、最大化健壮性X.开发环境与线上环境等价:尽可能的保持开发,预发布,线上环境相同XI. 日志:把日志当作事件流XII. 管理进程:后台管理任务当作一次性进程运行JFrog的Kubernetes之旅 规划:面向Kubernetes的改造配置改造没有规矩,不成方圆一个好汉三个帮规划:你运行环境的资源限制设置好了吗?没有规矩,不成方圆运行环境的资源使用必须是受限的 Pod的资源限制! Pod的资源限制! Pod的资源限制! 应用本身也需要资源限制Javav-Xms=1g -Xmx=2gRabbitMQvrabbitmq.conftotal_memory_available_override_value

7、 = 1GBresources:requests:memory: 1Gicpu: 100mlimits:memory: 2Gicpu: 250m.规划:你应用运行状态的监测设计好了吗?没有规矩,不成方圆应用的运行状态必须有可信的健康数据 readinessProbe应用就绪了吗? livenessProbe应用还能正常的提供服务吗? 探针类型Exec - return 0 on successHttp - return Pre-Prod-ProdMicro-Abundle-1.0Front-1.0.tarBackend-2.0.jarMetadata: micro-a-1.0.qa.test.

8、result = OK分级MetadataSIT - UAT - Pre-Prod-Prodbackend-1.0.jarMetadata: qa.test.result = OKqa.code.result = OKproject.revision = ASDASSACbinary.config.path=backend/dev/1.0deploy.pre-prod.result=OKLocal - DevJFrog的Kubernetes之旅 流程:监测 跟踪部署运筹帷幄,决胜千里监测:你的应用还好吗?运筹帷幄,决胜千里需要新的监测手段了 ssh不管用了 直接用kubectl调试也是不合适的

9、 Dev/Ops应该能方便地访问可信的数据监视日志 基于可控的OOB(Out-of-Band)工具监测:你的应用还好吗?运筹帷幄,决胜千里监视 Prometheus Grafana监测:你的应用还好吗?运筹帷幄,决胜千里日志 EFK StackFluentdElasticSearchKibana监测:你的应用还好吗?运筹帷幄,决胜千里微服务监测的五大基本原则 (https:/thenewstack.io/five-principles-monitoring-microservices) 监测容器,同时也要监测容器内运行的应用 监测业务自身的性能,而不是容器的性能 监测具有弹性,以及多地部署的服

10、务 监测API 微服务的监测体系要匹配组织架构安全:DevSecOps安全:DevSecOps安全:外部依赖的安全漏洞 Docker 30%的DockerHub上的镜像有安全漏洞 NPM 14%的NPM包有安全漏洞 Maven59%的已知安全漏洞还没有解决MTTR(平均修复时间):290天CVSS10: 265天安全:DevOpsSecCommitBuild ImageHelm ChartSecurity ScanningUpload Artifact to ArtifactoryDeployMonitorTest(AutomatedManual)安全:DevOpsSec扫描、定位、分析安全:

11、DevOpsSec安全检查左移Visual StadioIDEAEclipseThe EndJFrog内部的Kubernetes实践起步:熟悉Kubernetes规划:面向Kubernetes的改造编排:Helm Charts部署:自动、监测安全:DevSecOps协作:你想做孤胆英雄吗?众人拾柴火焰高善用社区的力量 不需要重复别人踩过的坑 你的团队增加了很多专家/高手 能够快速地解决问题 常用社区Kubernetes社区 https:/kubernetes.ioKubernetes中文社区 https:/Slack https:/Helm issues https:/ 官方微信公众号 加助手DevOps技术交流群Thank You

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 管理文献 > 管理手册

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报