基础环境运维索引
容器概述
通过使用容器技术,将操作系统、应用程序全部打包为独立可执行镜像,镜像存储在镜像仓库,服务升级后,采取一个新的tag来标签区别镜像的版本。镜像包括了可以完整运行应用程序需要的操作系统环境、中间件环境,只需要一个脚本就启动一个应用程序,完美解决了应用程序微服务后,安装部署运维难的问题。借助容器编排技术,让基于脚本,可视化一键启动、关停一个、一组服务变得更简洁。通过流水线串联并驱动整个应用程序的开发周期,包括源代码的编译、镜像打包、自动部署和升级(开发环境、测试环境、生产环境)、自动化测试、以及运维阶段的告警、自动扩容。
下图为一个典型的安装部署架构,底层iaas提供vm虚拟化支持,通过基础容器平台与容器编排平台提供自动化部署,对一些标准的组件进行快速部署,对业务系统进行安装部署支持。
本文采用的容器引擎为docker,容器编排工具为k8s,编排可视化为rancher
安装部署docker
https://qq829.cn/book/books/k8s/page/docker
安装部署k8s
根据情况,选择最合适你的版本,本文推荐使用最新版,但是经过实践,v1.20.15为最稳定版本
v1.20.15版: https://qq829.cn/book/books/k8s/page/k8s-v12015
v1.28.0版:https://qq829.cn/book/books/k8s/page/k8s-v1280
k8s官方帮助:https://kubernetes.io/zh-cn/docs/setup/
安装容器编排可视化工具rancher
https://qq829.cn/book/books/k8s/page/rancher
rancher与k8s之间有版本匹配关系,对于v1.20.15版本的k8s,可以支持的rancher版本为v2.5.17,对于更新版本的k8s支持版本为v2.7.9
rancher与k8s的版本对应:https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-7-9/
rancher发布页:https://github.com/rancher/rancher/releases
rancher官方帮助:https://ranchermanager.docs.rancher.com/zh/
使用容器编排工具docker-compose
https://qq829.cn/book/books/k8s/page/docker-compose
安装nfs网络共享
https://qq829.cn/book/books/42e7a/page/nfs
rancher使用手册
v2.5.17版本操作手册:https://qq829.cn/book/books/k8s/page/rancher-2515
v2.7.9版本操作手册:https://qq829.cn/book/books/k8s/page/rancher27
中间件自动化安装脚本
由于中间件需要持久化数据,对数据的一致性有比较高的要求,中间件不建议直接部署在k8s环境,而建议使用docker-compose运行。
-
minio:https://qq829.cn/book/books/42e7a/page/miniodocker-compose
-
postgreSQL:https://qq829.cn/book/books/42e7a/page/repmgrpostgresql
-
mongodb:https://qq829.cn/book/books/42e7a/page/docker-composemogodb
-
nexus:https://qq829.cn/book/books/42e7a/page/docker-compose-nexus
-
rabbitMQ:https://qq829.cn/book/books/42e7a/page/docker-composerabbitmq
-
elasticsearch:https://qq829.cn/book/books/42e7a/page/elasticsearch