基于Kubernetes的私有容器云建设实践
容器云第一步是实现应用的全生命周期管理,让应用实现秒级的上线、回滚、升级、扩容/缩容、下线.由于历史的原因,有些应用的配置和环境耦合在一起,有的应用是对于外部依赖是硬编码(例如服务方的IP地址)等,这些应用在迁移至容器云之前需要进行改造. 容器云要实现多数据中心多活,以保证数据中心级的高可用性.对于弹性扩容,我们的计划是先实现手动扩容,再实现自动扩容; 对于自动扩容,先实现基于CPU/Memory的自动扩容,再实现基于Custom Metrics的自动扩容.与大多数构建容器云的方式不同,我们首先解决生产环境的运维自动化的问题,其次再解决容器的构建问题(即CI/CD).我们的网络选型是flannel,万兆网络,flannel虽说有性能损失,但远能满足我们的实际需要.存储我们使用Ceph的RBD方式,使用一年多来,RBD的方案非常稳定.Ceph FS的方式我们也有尝试,但是由于团队精力有限和可能的风险,一直没有正式使用. 高可用基础设施容器云要实现高可用的基础设施,多维度保证应用/服务的高可用性: 在应用层面,每个应用有至少3个副本,通过Kubernetes ReplicationController/ReplicaSets来保证.强制每个应用暴露健康检查接口,通过设置liveness和readness保证应用异常后能够被及时的发现,从而用新的实例代替. Kubernetes的组件也要实现高可用,特别是ETCD集群的高可用,定期备份ETCD的数据是个好习惯. 为了保证数据中心级别的高可用,我们在每个数据中心部署了一套Kubernetes集群,每个数据中心能够独立存活,多个数据中心互相灾备. 计算资源QoS与超卖(编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |