【kubernetes笔记】k8s_简介(01)
这一篇整理了Yarn调度器和调度算法相关的内容。
1.kubernetes基本介绍
引用官方的解释:
Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。
Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。
2.kubernetes功能
-
自动装箱
基于容器对应用运行环境的资源配置要求自动部署应用容器 -
自我修复(自愈能力)
当容器失败时,会对容器进行重启 当所部署的 Node 节点有问题时,会对容器进行重新部署和重新调度 当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务 -
水平扩展
通过简单的命令、用户 UI 界面或基于 CPU 等资源使用情况,对应用容器进行规模扩大 或规模剪裁 -
服务发现
用户不需使用额外的服务发现机制,就能够基于 Kubernetes 自身能力实现服务发现和 负载均衡 -
滚动更新
可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新 -
版本回退
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退 -
密钥和配置管理
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署 -
存储编排
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要
存储系统可以来自于本地目录、网络存储(NFS、Gluster、Ceph 等)、公共云存储服务 -
批处理
提供一次性任务,定时任务;满足批量数据处理和分析的场景
3.k8s 集群架构组件
3.1 master组件
每个k8s集群里至少需要一个Master节点来负责整个集群的管理和控制,
所有控制命令都是发给它,它来负责具体的调度和执行。
master节点包含三个进程和一个键值数据库etcd。
三个进程都运行在集群中的某个节点上,主控组件通常这个节点被称为 master 节点。
这些进程包括:kube-apiserver、kube-controller-manager 和 kube-scheduler。
apiserver
集群统一入口,是通讯枢纽以restful方式,交给etcd存储。
集群内各个功能模块之间数据交互和通信的中心枢纽。
所有从集群到master的通信路径都终止于apiserver。controller-manager
是控制器,处理集群中常规后台任务,一个资源对应一个控制器
通过apiserver监控集群的公共状态,并致力于将当前状态转变为期望的状态。scheduler
是调度器,节点调度,选择node节点应用部署
负责分配调度Pod到集群内的节点上,它监听kube-apiserver,
查询还未分配Node的Pod,然后根据调度策略为这些Pod分配节点。etcd
存储系统,用于保存集群相关的数据
是键值数据库,保存所有集群数据的后台数据库。需要备份计划。
3.2 node组件
kubelet
跟master节点通讯,master排到node节点的代表,管理本机容器kube-proxy
是网络代理,提供网络代理,负债均衡等操作。
4.k8s几个常用概念
4.1 Node
在 Kubernetes 中,节点(Node)是执行工作的机器,以前叫做 minion。
根据你的集群环境,节点可以是一个虚拟机或者物理机器。
每个节点都包含用于运行 pods 的必要服务,并由主控组件管理。
集群中的每个非 master 节点都运行两个进程:
kubelet: 负责节点的运行状态,监控和管理pod状态,和master节点进行通信。
kube-proxy: 一种网络代理,将 Kubernetes 的网络服务代理到每个节点上。
4.2 Pod
Kubernetes的基本调度单元,一个pod一般包含一个或多个容器。
每个pod都被分配一个唯一的(在集群内的)IP地址。
- 最小部署单元
- 一组容器的集合
- 共享网络
- 短暂的声明周期
4.3 controller
- 确保预期的pod副本数量
- 无状态应用部署和有状态应用部署
- 确保所有的node运行同一个pod
- 一次性任务和定时任务
4.4 Service
服务内容与具体的pod分离。
Kubernetes服务代理负责自动将服务请求分发到正确的pod处,不管pod移动到集群中的什么位置,甚至可以被替换掉。
是定义一组pod的访问规则
4.5 kubectl
这是 Kubernetes 的命令行配置工具。用户通过它传输命令。
4.6 Lable
略
4.7 Volumes
略
5.其他参考资料
备用图片
图片来源于:https://kubernetes.io/docs/concepts/overview/components/
备用图片 图片来源于:http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/
欢迎大家的意见和交流
email: li_mingxie@163.com