Kubernetes是一个可移植,可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明性配置和自动化。 它拥有庞大,快速发展的生态系统。 Kubernetes服务,支持和工具广泛可用。
谷歌在2014年开放了Kubernetes项目.Kubernetes建立在谷歌大规模运行生产工作量的十五年经验基础上,结合了社区中最佳的创意和实践。
K8s架构图
Kubernetes是由一组节点组成,这些节点可以是物理主机,也可以是虚拟机。Kubernetes平台运行这些节点之上,构成了集群。Kubernetes集群分为两种Node,一种Master Node和用于实际部署的Pod的工作Node。一个集群往往由多个Master Node,这几个Master Node控制着整个集群的所有Node。
master节点包含以下的组件:
- etcd 用于存储集群中所有对象产生的数据
- api server 唯一可以和etcd 数据库交互的组件,通过通过kubectl调用api server 的api。
- controller manager 管理资源对象
- schedualer 调度Node,发布Pod
Node节点包含以下的组件
- kubelete 用于和Master节点交互,运行了node上的Service进程
- kube-proxy 负责网络相关,用于服务的负载