基于Kubernetes的DevOps实践之路_第1页
基于Kubernetes的DevOps实践之路_第2页
基于Kubernetes的DevOps实践之路_第3页
基于Kubernetes的DevOps实践之路_第4页
基于Kubernetes的DevOps实践之路_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Kubernetes的DevOps实践之路技术创新,变革未来云原生 Cloud NativeCNCF的云原生定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可 弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和 声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。12要素应用II.依赖:显式声明依赖关系III. 配置:在环境中存储配置后端服务:把后端服务当作附加资源构建,发布,运行:严格分离构建和运行VI. 进程:以一个或多个无状

2、态进程运行应用The Twelve-Factor App ( https:/12/zh_cn/ )I.基准代码:一份基准代码,多份部署VII. 端口绑定:通过端口绑定提供服务VIII.并发:通过进程模型进行扩展IX.易处理:快速启动和优雅终止可最大化健壮性X.开发环境与线上环境等价:尽可能的保持开发,预发布,线上环境相同XI.日志:把日志当作事件流XII.管理进程:后台管理任务当作一次性进程运行JFrog内部的Kubernetes实践我们正在做的:JFrog的应用和服务全面Kubernetes化内部的研发和测试环境全面Kubernetes化要解决的问题o用户安装部署JFrog产品复杂o无法快速

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

4、s is hard!分享要点起步:熟悉Kubernetes规划:面向Kubernetes的改造编排:Helm Charts部署:自动、监测安全:DevSecOps起步:熟悉Kubernetes 从小处入手o第一个Kubernetes环境自己探索:Kubernetes The Hard Way,Kelsey Hightower(/kelseyhightower/kubernetes-the-hard-way)公有服务: GKE、 EKS、 AKS、阿里、腾讯、。私有部署:miniKube、Rancher、。第一个Kubernetes应用从小的示例应用开始,如Nginx每次只设定一个小的、具体的目

5、标充分利用现有的教程和演示应用改造容器化改造仅仅把应用装进Docker是远远不够的日志STDOUT/STDERR处理足够多的日志文件持久化数据哪些数据需要持久化存储?合理地处理SIGTERM信号Shutdown必须是受控的Recovery必须是容易的重启如何处理上一次运行的遗留数据?应用改造高可用架构高可用将是新的标准配置保证良好的持久性和可用性支持同时运行多个应用实例支持负载均衡Scale-up、Scale-down必须是顺畅的不停机的滚动升级保证向后兼容K8s调整中的0宕机Cluster Scale-up、Scale-down计划中的Node维护非计划的Node宕机配置改造资源限制运行环境

6、的资源使用必须是受限的Pod的资源限制!应用本身也需要资源限制改造requests/limits跨Node的HAOut Of Resource Handling(https:/kubernetes.io/docs/tasks/administer-cluster/out-of-resource/)Pod Priority and Preemption(https:/kubernetes.io/docs/concepts/configuration/pod-priority-preemption/)resources: requests: memory: 1Gi cpu: 100m limits

7、:memory: 2Gicpu: 250m.配置改造探针应用的运行状态必须有可信的健康数据o readinessProbeo livenessProbe探针类型Http - return Pre-Prod-ProdMicro-B-bundle-2.0分级Metadata Metadata: app-1.0.qa.test.result = OKMicro-Abundle-1.0Front-1.0.tarSIT - UAT - Pre-Prod-ProdBackend-2.0.jar分级MetadataMetadata: micro-a-1.0.qa.test.result = OKbacken

8、d-1.0.jarMetadata:qa.test.result = OK qa.code.result = OK project.revision = ASDASSACbinary.config.path=backend/dev/1.0 deploy.pre-prod.result=OKLocal - Dev流程:应用监测需要新的监测手段ossh不管用了o直接用kubectl调试也是不合适的oDev/Ops应该能方便地访问可信的数据监视日志o基于可控的OOB(Out-of-Band)工具o微服务监测的基本原则( https:/thenewstack.io/five-principles-mo

9、nitoring-microservices)流程:应用监测监视oPrometheusoGraphana流程:应用监测日志oEFKFluentdElasticSearchKibana安全:DevSecOps安全:DevSecOps你的应用你的代码安全:DevSecOps安全:外部依赖的安全漏洞oDocker30%的DockerHub上的镜像有安全漏洞oNPM14%的NPM包有安全漏洞oMaven59%的已知安全漏洞还没有解决MTTR(平均修复时间):290天CVSS10: 265天安全:DevSecOpsCommitBuild Image Helm ChartSecurityScanningUpload Artifact to ArtifactoryDeployMonitorTest(AutomatedManual)安全:DevSecOps扫描、定位、分析安全:DevSecO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论