Kubernets集群的目标是为了构建一套Paas平台:
● 代码提交:开发将代码提交到Git仓库
● 持续集成:通过流水线将开发提交的代码克隆、编译、构建镜像并推到docker镜像仓库
● 持续部署:通过流水线配置Kubernetes中Pod控制器、service和ingress等,将docker镜像部署到测试环境
● 生产发布:通过流水线配置Kubernetes中Pod控制器、service和ingress等,将通过测试的docker镜像部署到生产环境
涉及到的功能组件:
● 持续集成用Jenkins实现
● 持续部署用Spinnaker实现
● 服务配置中心用Apollo实现
● 监控用Prometheus+Grafana实现
● 日志收集用ELK实现
● 通过外挂存储方式实现数据持久化,甚至可以通过StoargeClass配合PV和PVC来实现自动分配和挂盘
● 数据库属于有状态的服务,一般不会放大Kubernets集群中