k8s(Kubernetes)简介

一、什么是k8s?

k8s全称是Kubernetes,k8s是一个docker容器管理工具。

Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

 

通过Kubernetes你可以

快速部署应用

快速扩展应用

无缝对接新的应用功能

节省资源,优化硬件资源的使用

 

Kubernetes 特点

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

可扩展: 模块化, 插件化, 可挂载, 可组合

自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

 

K8s总体架构

K8s集群由两节点组成:Master和Node。在Master上运行etcd,Api Server,Controller Manager和Scheduler四个组件。后三个组件构成了K8s的总控中心,负责对集群中所有资源进行管控和调度.在每个node上运行kubectl,proxy和docker daemon三个组件,负责对节点上的Pod的生命周期进行管理,以及实现服务代理的功能。另外所有节点上都可以运行kubectl命令行工具。

 

API Server作为集群的核心,负责集群各功能模块之间的通信。集群内的功能模块通过Api Server将信息存入到etcd,其他模块通过Api Server读取这些信息,从而实现模块之间的信息交互。Node节点上的Kubelet每隔一个时间周期,通过Api Server报告自身状态,Api Server接收到这些信息后,将节点信息保存到etcd中。Controller Manager中 的node controller通过Api server定期读取这些节点状态信息,并做响应处理。Scheduler监听到某个Pod创建的信息后,检索所有符合该pod要求的节点列表,并将pod绑定到节点列表中最符合要求的节点上。如果scheduler监听到某个Pod被删除,则调用api server删除该Pod资源对象。kubelet监听pod信息,如果监听到pod对象被删除,则删除本节点上的相应的pod实例,如果监听到修改Pod信息,则会相应地修改本节点的Pod实例。

 

二、为什么需要 k8s?

1、应用部署模式的演进

Kubernetes

Kubernetes

 

2、相比虚拟机和容器

容器更加轻量级,启动更快(秒级)

容器可移植性更好

管理大量的容器带来了新的挑战

容器编排调度引擎 —— k8s 的好处

简化应用部署

提高硬件资源利用率

健康检查和自修复

自动扩容缩容

服务发现和负载均衡

 

三、k8s 的集群架构

主节点,承载 k8s 的控制和管理整个集群系统的控制面板

作节点,运行用户实际的应用

k8s 的集群架构

 

四、pod —— k8s 调度的最小单元

1、 一个 pod 包含一组容器,一个 pod 不会跨越多个工作节点

 

2、了解 pod

pod 相当与逻辑主机,每个 pod 都有自己的 IP 地址

pod 内的容器共享相同的 IP 和端口空间

默认情况下,每个容器的文件系统与其他容器完全隔离

    A+
发布日期:2020年03月07日 14:02:13  所属分类:Docker
最后更新时间:2020-03-07 14:03:06
头像
  • ¥ 98.0元
  • 市场价:198.0元
  • ¥ 189.0元
  • 市场价:269.0元
  • ¥ 29.99元
  • 市场价:888元
  • ¥ 99.0元
  • 市场价:199.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: