在项目实践中,进行了以下DevOps方案建设

优采云 发布时间: 2022-06-18 03:01

  在项目实践中,进行了以下DevOps方案建设

  微服务平台架构设计

  

  云原生应用开发和部署的四大原则

  云原生应用所构建和运行的应用,旨在充分利用基于四大原则的云计算模型。

  

  云原生应用开发所构建和运行的应用,旨在充分利用基于四大原则的云计算模型:

  应用层微服务改造注意事项

  服务发现方法

  应用配置管理

  应用无状态,支持横向扩容

  

  基础服务平台介绍

  

  jenkins CI/CD 流程视频演示Jenkins CI/CD 流程:

  

  pull代码

  测试registry,并登陆registry.

  编写应用 Dockerfile

  构建打包 Docker 镜像

  推送 Docker 镜像到仓库

  更改 Deployment YAML 文件中参数

  利用 kubectl 工具部署应用

  检查应用状态

  JenkinsCI/CD实践参考文档

  应用资源分配规则

  cat ftc_demo_limitRange.yaml <br />apiVersion: v1<br />kind: LimitRange<br />metadata:<br /> name: ftc-demo-limit<br /> namespace: ftc-demo<br />spec:<br /> limits:<br /> - max : # 在一个pod 中最高使用资源<br /> cpu: "2"<br /> memory: "6Gi"<br /> min: # 在一个pod中最低使用资源<br /> cpu: "100m"<br /> memory: "2Gi"<br /> type: Pod<br /> - default: # 启动一个Container 默认资源规则<br /> cpu: "1"<br /> memory: "4Gi"<br /> defaultRequest:<br /> cpu: "200m"<br /> memory: "2Gi"<br /> max: #匹配用户手动指定Limits 规则<br /> cpu: "1"<br /> memory: "4Gi"<br /> min:<br /> cpu: "100m"<br /> memory: "256Mi"<br /> type: Container

  限制规则说明

  默认创建一个pod 效果如下

  kubectl describe pod -l app=ftc-saas-service -n ftc-demo<br />Controlled By: ReplicaSet/ftc-saas-service-7f998899c5<br />Containers:<br /> ftc-saas-service:<br /> Container ID: docker://9f3f1a56e36e1955e6606971e43ee138adab1e2429acc4279d353dcae40e3052<br /> Image: dl-harbor.dianrong.com/ftc/ftc-saas-service:6058a7fbc6126332a3dbb682337c0ac68abc555e<br /> Image ID: docker-pullable://dl-harbor.dianrong.com/ftc/ftc-saas-service@sha256:a96fa52b691880e8b21fc32fff98d82156b11780c53218d22a973a4ae3d61dd7<br /> Port: 8080/TCP<br /> Host Port: 0/TCP<br /> State: Running<br /> Started: Tue, 21 Aug 2018 19:11:29 +0800<br /> Ready: True<br /> Restart Count: 0<br /> Limits:<br /> cpu: 1<br /> memory: 4Gi<br /> Requests:<br /> cpu: 200m<br /> memory: 2Gi

  生产案列

  apiVersion: v1<br />kind: LimitRange<br />metadata:<br /> name: jccfc-prod-limit<br /> namespace: jccfc-prod<br />spec:<br /> limits:<br /> - max: # pod 中所有容器,Limit值和的上限,也是整个pod资源的最大Limit<br /> cpu: "4000m"<br /> memory: "8192Mi"<br /> min: # pod 中所有容器,request的资源总和不能小于min中的值<br /> cpu: "1000m"<br /> memory: "2048Mi"<br /> type: Pod<br /> - default: # 默认的资源限制<br /> cpu: "4000m"<br /> memory: "4096Mi"<br /> defaultRequest: # 默认的资源需求<br /> cpu: "2000m"<br /> memory: "4096Mi"<br /> maxLimitRequestRatio:<br /> cpu: 2<br /> memory: 2<br /> type: Container

  监控系统介绍Prometheus Arch

  

  

  日志管理系统jumpserver 堡垒机使用说明Devops标准化规范

  

  目的

  为确保锦程业务访问的安全性、统一性和可管理性,制定本管理规范。

  域名管理规范

  k8S service 服务请求地址

  请求地址格式

  http://appid.namespace.svc.cluster.local:port<br />

  夸NameSpace

  http://user.jccfc-uat.svc.cluster.local:8080/Seal/<br />

  同NameSpace访问地址

  http://user:8080/raWeb/CSHttpServlet<br />

  Deployment 容器规范Deployment

  规范脚本在 jenkins 生成

  EFK实时日志查询系统概要:

  实时收集和存储各类日志,方便快速查看、分析日志,提供可视化图表、以及基于日志内容监控告警

  背景:日志平台架构:

  

  功能:容器内应用写入路径:

  /volume_logs

  节点挂在路径

  /opt/app_logs/{{ appid }}/app.log // 应用日志<br /><br />/opt/app_logs/{{ appid }}/api-access.log // restful接口访问日志<br /><br />/opt/app_logs/{{ appid }}/rpc-access.log // rpc接口访问日志

  容器化应用

  /volume_logs/app.log <br /><br />/volume_logs/api-access.log <br /><br />/volume_logs/rpc-access.log

  编译和运行期标准JDK Version 推荐使用1.8.0_191版本参数说明

  1.8.0_131

  UseCGroupMemoryLimitForHeap

  堆内存限制

  1.8.0_191

  ActiveProcessorCount

  CPU 核数限制

  maven && nexus版本备注

  3.6.1

  推荐版本

  后端应用仓库 :

  前端应用仓库地址:

  项目上线checklist目的

  通过标准化部署要求,提升DevOps与开发团队部署应用效率。保障项目上线稳定性。

  

  上线流程appid 作用域编写部署文档

  项目开发负责人参考下图checklist要点,在项目code中编写README文档。

  应用架构图案例

  

  配置变更流程作用域审批流程

  

  - END -

   推荐阅读 <br /><br />

  让运维简单高效,轻松搞定运维管理平台如何在Kubernetes上部署MySQL数据库<br />Jenkins vs GitLab CI:CI/CD工具之战搞懂 Nginx,这篇就够了!Linux系统常用命令速查手册Linux服务器高并发调优实战kubernetes 常见问题总结31天拿下K8s最具有含金量的CKA认证 

<br />

  

  点亮,服务器三年不宕机

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线