K8S概念
1、master
master是集群的网关和中枢,负责诸如为用户和客户端暴露api、跟踪其他服务器的健康状态、以最优方式调度工作负载,以及编排其他组件之间的通信等服务,它是用户或客户端与集群之间的核心联络点,并负责k8s系统的大多数集中式管控逻辑,单个master节点即可完成其所有的功能,但出于冗余及负载均衡等目的,生产环境中通常需要协同部署多个此类主机。master节点类似于蜂群中的蜂王。
2、node
node是k8s集群的工作节点,负责接收来自master的工作指令,并根据指令相应地创建或销毁pod对象,以及调整网络规则以合理地路由和转发流量等。理论上讲,node可以是任何形式的计算设备,不过master会统一将其抽象为node对象进行管理。node类似蜂群中的工蜂。
3、pod
k8s并不直接运行容器,而是使用一个抽象的资源对象来封装一个或者多个容器,这个抽象即为pod,它也是k8s的最小调度单元。同一pod中的容器共享网络名称空间和存储资源,这些容器可经由本地回环接口lo直接通信,但彼此之间又在mount、user及pid等名称空间上保持了隔离。
4、label
标签是将资源进行分类的标识符,资源标签其实就是一个键值型数据。标签旨在指定对象辨识性的属性,这些属性仅对用户存在特定的意义,对k8s集群来说,并不直接表达核心系统语义。标签可以在对象创建时附加其上,并能够在创建后的任意时间进行添加和修改。一个对象可以拥有多个标签,一个标签可以附加于多个对象之上。
5、label selector
标签选择器是一种根据label来过滤符合条件的资源对象的机制。例如,将附有标签“role: backend”的所有pod对象挑选出来归为一组就是标签选择器的一种应用。用户通常使用标签对资源进行分类,而后使用标签选择器挑选出它们。
6、controller
尽管pod是k8s的最小调度单元,但用户通常并不会直接部署及管理pod对象,而是要借助于另一类抽象---控制器对其进行管理。用于工作负载的控制器是一种管理pod生命周期的资源抽象,而非单个资源对象,包括replicationcontroller、replicaset、deployment、statefulset、job、cronjob等。使用控制器之后就不再需要手动管理pod对象了,用户只需要声明应用的期望状态,控制器就会自动对其进行进程管理。
7、service
service是建立在一组pod对象之上的资源抽象,它通过标签选择器选定一组pod对象,并为这组pod对象定义一个统一的固定访问入口(通常是一个IP地址),若k8s集群存在dns附件,它就会在service创建时为其自动配置一个dns名称以便客户端进行服务发现。到达service IP的请求将被负载均衡至其后的端点(各个pod对象)之上,因此service从本质上来讲是一个四层代理服务。另外,service还可以将集群外部流量引入到集群中来。
8、volume
存储卷是独立于容器文件系统之外的存储空间,常用于扩展容器的存储空间并为它提供持久存储能力。k8s集群上的存储卷大体可分为临时卷、本地卷和网络卷。临时卷和本地卷都位于node本地,一旦pod被调度至其他node,此种类型的存储卷将无法访问到,因此临时卷和本地卷通常用于数据缓存,持久化的数据则需要放置于持久卷之上。
9、name和namespace
名称是k8s集群中资源对象的标识符,它们的作用域通常是名称空间,因此名称空间是名称的额外的限定机制。在同一名称空间中,同一类型资源对象的名称必须具有唯一性。名称空间通常用于实现租户或项目的资源隔离,从而形成逻辑分组。创建的pod和service等资源对象都属于名称空间级别,未指定时,它们都属于默认的名称空间“default”。
10、annotation
注解是另一种附加在对象之上的键值类型的数据,但它拥有更大的数据容量。annotation常用于将各种非标识性元数据附加到对象上,但它不能用于标识和选择对象,通常也不会被k8s直接使用,其主要目的是方便工具或用户的阅读及查找等。
11、ingress
k8s将pod对象和外部网络环境进行了隔离,pod和service等对象间通信都使用其内部专用地址进行,如若需要开放某些pod对象提供给外部用户访问,则需要为其请求流量打开一个通往k8s集群内部的通道,除了service之外,ingress也是这类通道的实现方式之一。
K8S概念的更多相关文章
- k8s概念入门
k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个 ...
- K8S概念理解
Master 负责管理集群 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序. Worker节点是VM(虚拟机)或物理计算机,充当k8s集群中的工作计算机. 每个Wo ...
- 一些重要的k8s概念
1. Pause容器是什么 作为init pod存在,其他pod都会从pause 容器中fork出来 由pause容器管理 pause容器的工作 可知kubernetes的pod抽象基于Linux的n ...
- K8S概念理解参考
- 通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷
上一篇"通过实例快速掌握k8s(Kubernetes)核心概念"讲解了k8s的核心概念,有了核心概念整个骨架就完整了,应付无状态程序已经够了,但还不够丰满.应用程序分成两种,无状态 ...
- ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建
当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定 ...
- 基于 kubeadm 部署单控制平面的 k8s 集群
单控制平面不符合 HA 要求,但用于开发/测试环境不会有任何问题,如果资源足够的话(10台以上服务器,3台用于APIserver.3台用于 etcd 存储.至少3台用于工作节点.1台作为负载均衡),可 ...
- kubernetes基础概念知多少
kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用.高扩展性和可预测性的方式来管理容器应用的生命周期.通过k8s,用户可以定义程序运行方式.部署 ...
- k8s(00)入门知识介绍
系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 k8s概念入门 目录 系列文章说明 k8s概念 ...
随机推荐
- 【MM系列】SAP ABAP 编辑字段出现:对象编辑中的错误
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 编辑字段出现: ...
- PI薄膜相关的基本理论
一.耐电晕的基本理论 在电场作用下,绝缘材料聚酰亚胺薄膜的部分区域发生放电短路的现象称为局部放电 根据局部放电发生部位的不同,可分为绝缘材料内部的局部放电.表面的局部放电.发生在导体边缘而周围气体被击 ...
- mysql数据的备份
一.备份方式 1.备份:逻辑备份(mysqldump,mydumper).物理备份(xtrabackup.tar.cp.rsync) 2.冗余:主备模式.数据库集群 二.备份对象 1.数据(库. ...
- 【C/C++】BOOST 线程完全攻略 - 基础篇
C++多线程开发是一个复杂的事情,mfc下提供了CWinThread类,和AfxBeginThread等等函数,但是在使用中会遇到很多麻烦事情,例如线程之间参数传递的问题,我们一般都是把参数new一个 ...
- 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
建了一个对话框,我不想把边框去掉,只想去掉关闭按钮, setWindowFlags(windowFlags()&~Qt::WindowCloseButtonHint&~Qt::Wind ...
- CentOS配置java环境,mysql数据库等文章链接
配置jdk 配置jdk 安装mysql8 yum install -y mysql-community-server 安装mysql8 安装redi 安装redis 安装docker 安装docker
- mysql——操作数据库
一.查看数据库 show databases; 二.创建数据库 create database 数据库名; 三.删除数据库 drop database 数据库名; 四.查看数据库存储引擎 show e ...
- JAVA第四周总结
Java实验报告二 第一题 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String ...
- SIFT图像配准 python3.6 + opencv3.3代码
opencv3.x 中部分函数有改变: 1. SIFT:可以采用help(cv2.xfeatures2d)查询 2.drawKeypoints: 同样采用help()方法查询 opencv3 版本si ...
- hdfs基本文件操作
编程实现下列要求: 1.创建一个自己姓名首字母的文件夹 2.在文件夹下创建一个hdfstext1.txt文件,项文件内输入“班级学号姓名HDFS课堂测试”的文字内容: 3.在文件夹下在创建一个好的fs ...