Kubernees生产环境思考

通过在minikube的模拟集群中 Kubernetes快速起步 为我们掌握Kubernetes打下了基础,但是,Kubernetes的生产环境部署复杂程度远超过单机模拟,需要考虑分布式系统构建、监控、性能、容灾、故障切换等等。

我们在这个章节模拟大规模的Kubernetes集群,并且做各种故障演练,以锻炼出真正适合生产环境的Kubernetes系统。

注解

开发环境和生产环境的差异,可以参考 Kubernetes in production vs. Kubernetes in development: 4 myths7 Key Considerations for Kubernetes in Production 做一些思考:

  • 生产环境更依赖自动化:在开发阶段就需要考虑大规模横向扩展的解决方案,没有自动化部署和自动化监控、自动修复能力,从开发环境转向生产环境会带来巨大的代价
  • 性能: 开发阶段往往会忽视性能只关注到功能的实现,而生产环境的复杂程度和业务压力会暴露出开发阶段的缺陷
  • 安全性:从设计和部署方案上需要解决集群整体的安全管控 ten layers of container security
  • 监控和日志:需要构建大数据平台以及实时流数据分析日志和服务监控告警
  • 镜像仓库和包管理:构建私有镜像仓库,并通过 Helm - Kubernetes包管理器 / Terraform基础架构管理平台 这样的工具来构建包管理