1、背景
2、目的
3、价值体现
4、特性
5、要素
容器化:所有的服务都必须部署在容器中。
微服务:Web 服务架构是微服务架构
CI/CD:可持续交互和可持续部署
DevOps:开发和运维密不可分
6、相关技术
7、整体架构
8、实现路径
机房:世纪互联机房、瑞德机房;
系统:centos7.9
实践方案与工作内容 构建镜像体系1、基础镜像(java、python、java+python、java + C++)
2、服务镜像 (Redis、Kafka、selenium+python、NodeJs、Tomcat)
3、应用镜像(爬虫、下载、文本分析、补信息、特征提取、特征比对)
优化镜像层级结构及镜像大小1、多级构建
2、dockerfile优化(比如 yum install 的缓存要删除)
构建镜像仓库自建私有镜像仓库 Harbor,做好镜像仓库分类工作
业务容器化1、制作应用镜像
2、编辑 ignore 文件,屏蔽不需要打包的文件
开发 CI/CD的环境和流程1、自建代码仓库 Gitlab
2、使用 gitlab-ci 作为 CI/CD 方案,备选(jenkinx-x)
3、两个机房分别部署 gitlab-runner
容器与应用编排(k8s)1、安装与配置 docker
2、搭建 kubernetes
在两个机房分别搭建 kubernetes,190和13114机器作为 master
自动完成服务的部署、更新、卸载和扩容、缩容
- 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
- 可扩展: 模块化,插件化,可挂载,可组合
- 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
3、面板
使用 k8s 面板,可视化直观的管理监控应用与服务器的情况,可选的有:
Kubesphere、Rancher 、 kuboard 、 dashboard 、 Prometheus 、 lens 、k9s
1、Prometheus + Grafana
监控服务器、mysql、kafka、redis、接口、应用、数据情况
预警机制
k8s 命名空间1、按项目
2、按人
3、按环境(development、production)
分布式存储1、分布式对象存储(ceph or Minio)
命名规范1、dockerfile
2、kubernetes
3、项目结构
周边技能1、ansible
2、git
1、编写dockerfile
2、编写 gitlab-ci.yml
3、编写 k8s的yml
4、有git环境,发布时使用 git push
一个k8s 应用的结构
project-name
ProjectName
dockerfile
.gitlab-ci.yml
k8s-dpl.yaml
标签体系
app:{appid}:[应用名称]
env:{dev/demo}:[应用环境]
version:{rt218}:[应用版本]



