在项目实践中,进行了以下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 />
点亮,服务器三年不宕机