目录
1.什么是K8S?
K8S,就是基于容器的集群管理平台,它的全称,是kubernetes。Kubernetes这个单词来自于希腊语,含义是舵手或领航员。K8S是它的缩写,用“8”字替代了“ubernete”这8个字符。K8S用来管理容器资源。
2.K8S的历史
K8S是Google用go语言,对使用了十多年的Borg系统进行改写而诞生的。于2014年6月由Google公司正式公布出来并宣布开源。
2015年7月,Google正式加入OpenStack基金会。与此同时,Kuberentes v1.0正式发布。
3.K8S的架构
k8s集群由Master节点和Node(Worker)节点组成。
3.1 Master节点:
Master节点指的是集群控制节点,管理和控制整个集群,基本上k8s的所有控制命令都发给它,它负责具体的执行过程。Master节点包括:
- API Server:整个系统的对外接口,供客户端和其它组件调用(营业厅)
- Controller Manager:k8s中所有资源对象的自动化控制中心,维护管理集群的状态,比如故障检测,自动扩展,滚动更新等(总管)
- Scheduler: 负责资源调度,按照预定的调度策略将Pod调度到相应的机器上。(调度室)
- etcd:保存整个集群的状态。
3.2 Node节点
每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机时,该节点上的工作负载就会被Master自动转移到其它节点上。在Node上主要运行着:
- kubelet:主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。
- kube-proxy:实现service的通信与负载均衡,主要负责为Pod对象提供代理
- docker(Docker Engine):Docker引擎,负责本机的容器创建和管理
- Fluentd,主要负责日志收集、存储与查询。