k8s核心概念

一、集群架构与组件

1,相关组件

【1】 master node三个组件

  • k8s的控制节点,对集群进行调度管理,接受集群外用户去集群操作请求
  • master node 组成(四个组件):控制面
  1. API Server:通信
  2. kube-Scheduler:调度 通过调度算法将pod分布到节点(服务器)上
  3. Cluster State Store(ETCD数据库)/分布式键值存储
  4. Controller Manger Server :资源

【2】 worker node三个组件:用户面

  • 集群工作节点,运行用户业务应用容器1
  • worker node组成(三个组件)
    1. kubelet:worker端的管理工具,负责pod的生命周期、存储、网络管理
    2. kube proxy :网络代理,设置转发路径 ,负责service的服务发现(此处为内部服务的发现,外部服务的发现为ingress),负载均衡(4层负载)
    3. Container Runtime(运行时):创建容器的软件

【3】附加组件

  • kube - dns
  • ingress Controller:为服务提供外网入口(外部服务的发现)

1,分层架构

【1】生态管理层

【2】接口层

【3】管理层

【4】应用层

【5】核心层

对外提供API构建高层的应用,对内提供插件式应用执行环境

二、核心概念与专业术语

1.服务的分类

【1】无状态

  • 代表应用:nginx、aoache
  • 优点:对客户头民,无依赖关系,可以高效实现扩容、迁移
  • 缺点:不能存储数据,需要额外的数据服务支持

【2】有状态

  • 代表应用:MySQL、redis
  • 优点:可以独立存储数据,实现数据管理
  • 缺点:集群环境下需要实现主从、数据同步、备份、水平扩容复杂

2.资源的分类

在这里插入图片描述

【1】元数据型:对于资源的元数据描述,每一个资源都可以使用元空间的数据

  • Horizontal Pod Autoscater(HPA):pod自动扩容,可以根据CPU使用率或自定义指标(metrics )对Pod进行扩容或者缩容
  • PodTeplate:pod模板,是关于pod的定义
  • LimitRange:对集群内的资源进行限制,相当于批量设置了某一范围内(命名空间)的pod的资源使用限制

【2】集群级资源:作用于集群之上,集群下的所有资源都可以共享使用

  • namespace
  • node:节点,相当于一个服务器
  • ClusterRole:用于对集群的权限进行管理
  • ClusterRoleBinding:用于将上述的角色跟某一资源进行绑定(只能绑定集群级别的资源对象上绑定)

【3】命名空间级资源:作用在命名空间之上,通常只能在该命名空间范围内使用

  1. 工作负载型 pod:可以当做容器组,pod内可以有多个容器,可以管理pod中的容器,为最小的可部署单元。

一个pod包含一个应用程序容器(也可以是多个),存储资源,一个唯一的网络IP地址,以及一些确定容器该如何运行的选项。pod容器组代表了k8s中一个独立的应用程序运行实例,该实例可能由单个容器,或者几个紧耦合在一起的容器组成。
【1】副本(replicas):一个pod可以被复制成多个。没复制的一个都是副本。
【2】控制器

  • 适用无状态服务:RC、RS、Deployment
  • 适用有状态服务:StatefuiSet
  • 守护进程:DaeminSet 保证在每个node上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用
  • 任务/定时任务:Job(一次性任务,做完不再重启容器)、CroJob(周期性执行的任务,在job的基础上加了定时功能)
  1. 服务发现
  • Service:实现k8s集群内部的网络调用,负载均衡(四层负载),横向流量
  • ingress:将k8s集群内部服务暴露给外网访问的服务(ingress-nginx 反向代理,七层负载),纵向流量
    在这里插入图片描述
    在这里插入图片描述
  1. 存储
  • volume: 存储卷,共享Pod中容器使用的数据,用来放持久化的诗句,比如数据库数据
  • CSI
  1. 特殊类型配置
  • configmap:集群的配置文件,数据说明,数据卷,可以挂载不同的pod上,不加密,也可以做环境变量
  • secret:加密的,sha256加密。用于保存证书,拉取镜像凭证密码
  • DownwardAPI:
  1. 其他
  • Role:定义一组命名空间的权限
  • RoleBinding

3. 资源清单

4. 对象规约和状态

【1】规约Spec

Spec为必须的,描述了对象的期望状态(Desired Status),以及关于对象的一些基本信息。

【2】状态Status

对象的实际状态,该属性有K8S自己维护,k8s会通过一些列的控制器对对象进行管理,让对象的实际状态尽可能的与期望状态符合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/8827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型的淘金时代,HPE给出了一份智能经济“奇点”攻略

进入2023年,ChatGPT引发了一个新的AI时代——大模型时代。陆奇说:“我已经跟不上大模型时代的狂飙速度了!”大模型引发了AI产业整体升级换代,各种大模型层出不穷,科技公司纷纷入局,AI创业公司再次雨后春笋般…

【LeetCode】79.单词搜索

题目 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或…

LabVIEW开发环境试验箱控制器

LabVIEW开发环境试验箱控制器 环境或气候试验箱是一种外壳,用于模拟各种材料(包括工业产品、生物物质、复合材料、电子设备和航空航天部件)的特定环境条件,并评估调节对这些材料的影响。 环境试验箱(ETC)…

CSS技巧::is()、 :where()、:has()伪元素的运用

:is()、:where() 和 :has() 伪元素是 CSS 中用于样式化元素的非常强大的工具。是在 CSS 选择器 Level 4 规范中引入的。允许将样式应用于符合特定条件的任何元素,例如元素的类型、元素的位置和元素的后代。 :is() :is() 伪类可以用于基于选择器的组合来定位元素。…

08.计算机网络——其他重要协议和技术

文章目录 DNSICMPNAT代理服务器 DNS DNS是一整套从域名映射到IP的系统 ​ TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆,于是人们发明域名,其本质是一个字符串,映射了它和IP地址的关系。 …

【Docker】Docker的数据管理和网络通信

Docker的数据管理和网络通信 一、Docker 的数据管理1. 数据卷2. 数据卷容器二、容器互联(使用centos镜像)三、 Docker 镜像的创建1. 基于己有镜像创建2. 基于本地模板创建3. 基于 Dockerfile 创建3.1 联合文件系统3.2 镜像加载原理3.3 为什么Docker里的centos的大小才200M?3…

zookeeper的核心概念

核心 集群角色 简介 通常在分布式系统中,构成一个集群的每一台机器都有自己的角色,最典型的集群模式就是Master/Slave模式(主备模式) 在这种模式中,我们把能够处理所有写操作的机器称为Master机器,把所有通过异步复制…

【iOS】—— RunLoop和多线程相关问题总结

RunLoop 1. 讲讲RunLoop,项目中有用到过吗? RunLoop 的基本作用:保持程序的持续运行,节省 CPU 的资源,提高程序的性能 ( 没有事情,就请休眠,不要功耗。有事情,就处理&a…

【JavaSE】运算符

【本节目标】 1. 熟练掌握各种运算符 这部分内容和C语言的位运算相似,可以参考这篇文章:【C语言】操作符详解 目录 1. 什么是运算符 2. 算术运算符 3. 关系运算符 4. 逻辑运算符 5. 位运算符 6. 移位运算(了解) 7. 条件运算符 1. 什么是运算符 …

SQL 简介

SQL 简介 简介 SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系型数据库的标准化语言。它允许用户通过使用各种指令来创建、修改和查询数据库中的数据。 SQL具有几个主要组成部分: 数据定义语言&#…

day31贪心算法 用最少数量的箭引爆气球 和无重叠区间

题目描述 题目分析: x轴向上射箭,12一支,重叠的需要一支,3-8一支,7-16一支 返回2; 就是让重叠的气球尽量在一起,局部最优;用一支弓箭,全局最优就是最少弓箭&#xff1b…

机器学习前言

1.机器学习和统计学关系 2.机器学习的发展 3.机器学习与深度学习的相同点与不同点 4.机器学习和深度学习优缺点 一、机器学习和统计学关系 机器学习和统计学密切相关,可以说机器学习是统计学在计算机科学和人工智能领域的应用。机器学习和统计学在方法论和技术上有…

科技的成就(四十八)

373、新的编程语言 Swift 2014 年 6 月 2 日,苹果在 WWDC 上发布了新的编程语言 Swift。Swift 由克里斯拉特纳在苹果内部主持开发,历时 4 年。它是一种支持多编程范式的可编译语言,其设计简单、高效、安全,用来开发 macOS/OS X、i…

合宙Air724UG LuatOS-Air script lib API--ftp

Table of Contents ftp ftp.command(command, timeout) ftp.pasv_connect(timeout) (local函数 无法被外部调用) ftp.login(ftp_mode, host, port, username, password, timeout, ssl, cert) ftp.upload(remote_file, local_file, timeout) ftp.download(remote_file, local_fi…

SQL ORDER BY 关键字

ORDER BY 关键字用于对结果集进行排序。 ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。 ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。 ORDER BY 子句后面的列名指示按哪些列进行排序。如…

如何才能做Cox呢?今天带来Cox回归分析步骤详解

Cox回归是生存分析中运用最多的一个模型,又称为比例风险回归模型(proportional hazards model)。是由英国统计学家D.R.Cox在1962年提出的,为了表示对他的尊敬,所以大家以他的名字命名这个模型。这是一种半参数回归模型,以结局和生…

数据结构【绪论】

数据结构入门级 第一章绪论 什么是数据结构?什么是数据类型? 程序数据结构算法 一、基本概念: 数据:指所有能被计算机处理的,无论图、文字、符号等。数据元素:数据的基本单位,通常作为整体考…

快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧

目录 概念:1. webpack 打包简介1.0 多个 JS 文件打包:1.1 webpack 数组形式1.2 webpack 对象形式 总结 Webpack的打包过程可以总结为以下几个步骤: 1.入口点配置:在Webpack的配置文件中,我们需要指定一个或多个入口点…

数据接口有哪些?(数据接口有哪几种)

数据接口是指不同应用程序或系统之间交换数据的通信界面。在现代信息化社会中,数据接口扮演着极为重要的角色,它们使得不同平台之间能够相互连接和交流,从而实现数据共享和应用集成。 数据接口的种类繁多,常见的有以下几种&#…

SpringBoot开发小技巧使用(DEBUG、启动图标修改、Lombok、devtools、Spring Initializr)

目录 1. 通过DEBUG查看自动配置的组件2. springboot启动图标修改3. Lombok4. devtools5. 通过IDEA的Spring Initializr快速创建新项目 1. 通过DEBUG查看自动配置的组件 在resources/application.properties中添加如下,开启DEBUG功能: debugtrue然后启动…