李响,现就职于 CoreOS,任分布式系统组主管,负责调度、存储、协作等相关分布式系统设计与实现。开源分布式键值存储系统 etcd 项目作者,开源容器管理平台 Kuberentes 项目维护者。他实现的 Raft 协议被广泛使用在分布式数据库、调度器中。2012 年本科毕业于浙江大学,2014 年研究生毕业于 Carnegie Mellon University。
Kubernetes 是由 Google 推出的基于容器的集群管理系统。作为一个开放、灵活、的集群管理平台 Kuberneres 被各大企业、互联网公司以及云厂商所采用。Kubernetes 大大降低了部署、运维微服务和分布式系统的难度。但与此同时 Kubernetes 也对基础架构运维带来了挑战。
Kubernetes 本身是一个庞大的分布式系统,它涉及到数个 Master 组件,例如 API Server 、 Scheduler 、Controller Manager 、etcd 等;在每台节点上,也要部署节点组件 Kubelet 、Kube-proxy 等。无缝地部署、更新这些组件涉及到复杂的运维流程。任何一个步骤的失败都会导致这个集群的不可用,从而影响应用服务。运维 Kubernetes 本身是一个极有挑战性的工作。
为了减轻基础架构运维的工作,我们尝试去利用基础架构本身提供的功能去运维自身。我们称之为 Self Hosted Infrastructure。这个尝试取得了巨大的进展。目前,我们的基础架构可以做到无人监管的地安装、部署、升级。
本话题将详细介绍我们是如何利用 Kuberentes 来做到 Self Hosted Infrastructure。通过这个主题分享,希望大家能更多的了解到现代化集群管理系统的发展趋势。