为了解决服务资源管理问题,apache 开源了 MESOS。MESOS 可以很容易的实现分布式应用的自动化调度。
美国西部时间 5 月 2 日下午 7 点,Twitter 公司在旧金山总部举行了一次技术发布会兼 Meetup。会上,Twitter 计算平台(Twitter Computing Platform)产品与技术负责人 David McLaughlin 正式宣布,Twitter 的基础而设施将从 Mesos 全面转向 Kubernetes。
Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
swarm 非常轻量,往往只占用几十兆的资源。
缺点明显:不适合大规模集群环境;功能较少。
2019 年 7 月阿里云下架 Docker Swarm
是用于自动部署,扩展和管理容器化应用程序的开源系统。
什么是 pod 控制器类型 网络通讯模式
什么是资源
掌握资源清单的语法
编写 pod
掌握 pod 的生命周期
掌握 syc 原理及其构建方式
掌握多种存储类型的特点,能在不同环境中选择合适的解决方案。
掌握调度器原理,能够根据要求把 Pod 定义到想要的节点。
集群的认证、鉴权、访问控制、原理及其控制
相当于 Linux 中的 yum;掌握 HELM 原理、HELM 模板自定义
Kubeadm 源码修改——例如修改证书有效期达到 10 年
负责接收任务,选择合适的节点进行分配任务。
调度器将任务分散到不同的 node 中,与 brog 不同的是,此处的调度器不会去操纵存储,而是将任务请求交给 api server
存储到 etcd
中。
控制副本数,根据副本需求增删 node。
所有服务访问统一入口
在 kubernetes 的设计中,最基本的管理单位是 pod,而不是 container;
pod 是在容器的基础上做了一层封装,里面可以包含多个容器;
pod 中容器可以共享资源。
通过 CRI 接口创建容器,直接跟容器引擎交互,实现容器的生命周期管理。
学习文章:
负责写入规则至 Iptables、IPVS 实现服务映射访问
firewall
)etcd 是一个语言编写的,可信赖的分布式键值存储服务,它能够为整个分布式服务存储一些关键数据。
ectd v2 版数据存在内存中,v3 版存在 database 中。
kubernetes v1.11 版之前自带的是 v2。
可以为集群中 SVC 创建一个域名 IP 的对应关系解析
给 k8s 集群提供一个 b/s 结构访问体系
官方只能实现四层代理,ingress 可以实现七层代理。
提供一个可以跨集群中心多 k8s 统一管理功能
提供 k8s 集群的监控能力
参考:
https://kubernetes.io/
https://www.bilibili.com/video/BV1w4411y7Go?p=2
https://www.runoob.com/docker/docker-swarm.html