CreateArtTechnology
/ Blog
Login
最新文章
Java
语言相关
库相关
虚拟机相关
CreateArtTechnology
项目搭建
使用的工具
自研的工具
开源工具
ELK
ElasticSearch
Jenkins
Markdown
GraphQL
Arthas
生产工具
Linux
Nginx
VersionControl
Subversion
Git
Redis
Archiva
Maven
Zookeeper
Spring
SpringBoot
MySql
HBase
Cassandra
容器化
Docker
Kubernetes
服务容器化从零开始
未分类笔记
算法相关
概念相关
豆知识
机器学习
机器学习从零开始
Kubernetes基本概念
8
2019-02-18 12:00:43
容器化
Kubernetes
![](/img/pic/2019021811253350307_png_421_379_80150) > k8s架构 ## 部分基础名词 首先介绍k8s中的一部分宏观概念。 ### Master 架构图中左下角部分,k8s管理节点,包含多种组件,提供k8s集群操作的唯一访问入口,负责资源调度等k8s逻辑部分。 k8s所有控制操作相关的组件部署在此。 ### Node 架构图中Node部分,k8s工作节点,对应实际的宿主机,可通过组件动态增加到集群中,向master注册自己并提供自身信息以便资源调度。 k8s集群操作的执行组件、容器引擎等部署在此。 ### Pod 架构图中Pod部分,k8s调度管理的最小单位,是容器的更高层抽象,一个Node中可以部署多个Pod。 ### 名词总结 相较于k8s基本介绍中说的 > 个人眼中的k8s: - **告知k8s集群的预期状态,其他交给k8s。** k8s会尽量将集群状态调整到预期状态。 进一步描述k8s的工作方式: - 用户通过Master节点操作集群状态,告知k8s应该在集群中运行哪些种类的Pod、每种Pod运行多少个 - 由Master节点负责与Node通信进行资源调度,告知哪些Node需要运行那种Pod - 由Node负责通过用户提供的配置信息(Pod上运行哪些容器、资源限制信息等)进行实际的Pod部署,并向Master汇报健康状态 - 当Master检测到Pod出现异常时(服务崩溃等),根据用户制定的调度策略进行对应的管理操作,如扩容等 最终的结果是,用户在配置好集群状态后,不需要关注太多调度、维护的问题。 ## 部分基础组件 ### Master节点 **Kubernetes API Server** 集群操作唯一入口,提供RESTful API,可使用命令行(Kubectl)或WEB UI调用。 集群状态修改会持久化到分布式存储(如Etcd)中。 **Kubernetes Scheduler** 负责资源调度,为新Pod选择Node。 **Kubernetes Controller** 控制其他各种Controller,如: - `Replication Controller` 副本(Replica)控制器,保证实际运行的副本数量和用户定义的数量一致,即负责扩容、缩容 - `Node Controller` 监控Node状态 - `Deployment Controller` 实现蓝绿发布等策略 还有其他多种实用Controller,见参考资料。 ### Node节点 **Kubelet** 负责实际管理本机Pod,也就是一个Agent(kubelet: kubernetes applet),汇报自身状态给Master,接收并执行Master的调度命令。 **Kubernetes Proxy** Node的代理,负责在集群中实现请求路由和转发。 **容器引擎(非k8s组件)** 如Docker引擎,实际运行服务。 ## 参考资料 [Kubernetes系列之介绍篇](http://www.cnblogs.com/xhyan/p/6656062.html)
发布文章 101
文章被阅读 1817
最近修改
什么是“丝滑”的曲线
2021-12-08 15:19:20
高效空间数据索引R树及其批量加载方法STR简介
2021-09-29 20:33:37
关于分库分表的一些事儿
2021-06-25 11:51:25
获得诺奖的稳定匹配理论之TTC算法与GS算法
2021-03-14 23:04:48
算法小白的机器学习入门实践,从零到上线
2021-01-13 14:28:27
分站宗旨
一站式资料平台,减少重复检索,减少重复采坑。