k8s中的层级结构,及节点组件的作用

news2024/9/22 9:29:39

可以从三个层面来看待k8s集群

第一个层

是client主机

为什么要有client主机

不是在控制节点上管理计算节点吗

是的

但是,当有多个k8s集群需要管理的时候

一般不会每管理一个集群,就登录到那个集群的控制节点上

这样来来回回切换登录

client主机同时管理多个主机比较方便

在client主机上,安装kubectl软件包

使用kubectl  config  get-contexts

查看上下文有哪几个k8s集群,当前在哪个k8s集群

使用kubectl  config  use-context  *k8s

选择当前管理的集群为*k8s集群

这里,逐一解释

kubectl命令是client主机上,是如何联络到各个k8s集群的

依靠~/.kube/config配置文件

这个配置文件里面有什么

有各个被管理k8s集群的名称,管理用户,集群的证书cacert,客户端的证书cert,客户端的密钥key,等这些信息。

那么当client主机上的命令行工具kubectl config被解释器翻译的时候

cpu会去读取kubectl config命令的配置文件

也就是这个~/.kube/config

这个配置文件里面有client主机想kubectl config操作的k8s集群的信息

那么kubectl config get-contexts的时候

就是看配置文件里面都有谁

都有几个集群

然后敲回车

cpu就会把自己在配置文件~/.kube/config里面读到的集群内容

返回到屏幕上

就可以看到client主机可以管理的k8s的集群的名称

和当前在管理哪个集群

当在client主机的命令行界面输入

kubectl config use-context ak8s的时候

cpu就会去那个配置文件下面去找这个ak8s相关的信息

然后client主机就会在一个管理ak8s的状态下

用kubectl  create pods ...

等这些命令的时候

就可以操作人员在client主机上管理ak8s集群的资源,创建pod等操作

叫远程管理。

第二个层级

管理节点,也叫管理控制节点,也叫控制节点,也叫主节点

随便吧

知道意思就行

这个节点上,有几个重要组件,而这几个组件都是通过

kubeadm  init这个命令生成的

kubeadm命令行工具

是用安装kubeadm这个软件包产生的。

控制节点的核心组件有四个

apiserver:  api接口

controller-manager: 控制器管理器

schduler: 调度器

etcd: 状态数据库

api接口好解释,我们用kubectl api-resources,敲回车,就可以看到好多api资源

里面有ingresses,  serviceaccount,  rolebinding, classrolebinding, services等等

这些api资源,是k8s集群提供的各种各样功能

那么k8s本身的核心作用是对容器进行各种编排管理的

那么这些api资源都是为了让k8s更好的提供容器化服务的工具

apiserver就是把这些写好的工具提供一个接口给程序

管理用户可以通过程序和命令行去调用这些工具

比如kubectl  create pods ...

那么pods就是一个api资源,可以用kubectl create这样的命令去调用

加上参数,就可以创建出什么什么样的pod

另一种使用api资源的方法

就是写资源文件

kind

apiVersion

medata

spec

status

这五个是资源文件里面的顶级字段,最后一个status状态大部分情况下可以不写,在创建资源的时候。因为status信息k8s一般会自动生成。

控制节点?什么是控制节点?

控制节点的主要特征就是装了一个kubeadm

然后用kubeadm init产生了

api-server   controller-manager  schduler  etcd这几个组件

这些都是可配置可条件的

毕竟来说

操作系统层面来讲

一切皆文件

好像还是很有道理的

管理配置文件就是了

自定义集群的各种样子

controller-manager是控制器管理器

什么是控制器管理器?

首先看什么是控制器

比如daemonsets这种控制器

这种控制器的一个,就是kube-proxy

daemonsets这种控制器是什么

就是守护集

意思是要管理一些pod提供的服务

这些pod每个节点上都得有

比如kube-proxy这个控制器搞的服务

这个服务就是监控网络状态,保证每个计算节点上的

网络状态都是ok的

daemonsets这种控制器

意思就是守护每个节点的

可以理解成,既然要是k8s的集群的一个节点

总得有点特征吧

跟不是k8s集群的节点的机器有些区别

而这些特征和区别,我们就可以理解为

计算节点上的一些必备环境

比如网络,那么这个就是可以说的通的

所以

daemonsets这种控制器

是控制器的一种

什么意思呢

就是说

k8s的控制器还有其他品类

男装女装护肤品

不同的品类

那么k8s集群的控制器

也有好多个品类

还有deployment

管理各个节点的pod数量的

如果有的pod被删掉了

那么deployment会自动创建一个新的pod

是不是很智能

它的作用之一是维护集群节点中的数量

还有控制器叫statefulset

这个是对应deployment这个控制器来称呼的

deployment是个无状态控制器

statefulset是个有状态控制器

这么来看

控制器的作用也是为了实现k8s集群的各个品类的功能的需求的满足。

所以控制器的种类也比较多。

那么这些品类,多了之后,也需要有角色来协调和管理。

包括监控

那么这个活

就由controller-manager来干

控制器的经理

也就是控制器的管理器

控制器的管理器有点类似于linux操作系统的systemd

systemd管理系统的所有进程

controller-manager管理k8s集群中个各个控制器

controller-manager可以认为是一些程序的集合,也有对应的配置文件

那么第三个层

就是计算节点

主要组件是kubelet和kube-proxy

kubelet是监工的

看计算节点上的服务运行的如何

kube-proxy主要管理计算节点上的网络。

还有一个计算节点的组件是runtime

就是,是时候跑起来了

计算节点真正跑服务的

叫硬件干活的

就是容器里面的进程了

这个runtime就是替kubelet管容器的

kubelet叫runtime创建容器

runtime就创建容器

图片来源:k8s官网

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

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

相关文章

电路分析 ---- 加法器

1 同相加法器 分析过程 虚短: u u − R G R G R F u O u_{}u_{-}\cfrac{R_{G}}{R_{G}R_{F}}u_{O} u​u−​RG​RF​RG​​uO​ i 1 u I 1 − u R 1 i_{1}\cfrac{u_{I1}-u_{}}{R_{1}} i1​R1​uI1​−u​​; i 2 u I 2 − u R 2 i_{2}\cfrac{u_{…

同时播放多个视频

介绍一款小众的视频播放器,之前有小伙伴找那种可以同时播放多个视频的软件,“恒硕加播放”可以做到这一点,功能不是太多,但是日常播放是足够了。 同时播放多个视频控制多个视频跳到指定进度同时暂停/播放/停止/静音/倍速浏览系统…

金属3D打印与压铸模具的融合:创新引领制造新纪元

步入工业4.0的新纪元,3D打印技术犹如一股强劲的东风,为制造业的转型升级插上了智慧的翅膀。作为铸造领域的核心,压铸模具在工业领域扮演着不可或缺的角色,其重要性不言而喻。然而,面对日益多样化的压铸件需求&#xff…

力扣最热一百题——和为K的子数组

目录 题目链接:560. 和为 K 的子数组 - 力扣(LeetCode) 题目描述 示例 提示: 解法一:暴力枚举 Java写法: C写法: 解法二:前缀和哈希表 计算子数组和 如何优化问题 代码解…

混合部署 | 在RK3568上同时部署RT-Thread和Linux系统-迅为电子

RT-Thread 是一个高安全性、实时性的操作系统,广泛应用于任务关键领域,例如电力、轨道交通、车载系统、工业控制和新能源等。它的加入让 RK3568 能够在保证系统实时性和安全性的同时,灵活处理复杂的任务场景。 在一般情况下,iTOP-…

AI聊天应用不能上架?Google play对AI类型应用的规则要求是什么?

随着生成式AI模型的广泛应用,很多开发者都有在开发AI应用或将其整合到应用中。我们知道,谷歌是非常注重应用生态的,去年开始就推出了一些针对生成式AI应用的政策,对AI应用的内容质量和合规性问题提出了一些要求。 几天前&#xff…

Deep Ocr

1.圈出内容,文本那里要有内容.然后你保存,并导出数据集. 2.找出deep_ocr_recognition_training_workflow.hdev 文件.修改“DatasetFilename : Test.hdict” 310行 write_deep_ocr (DeepOcrHandle, BestModelDeepOCRFilename) 3.推理test.hdev 但发现很慢,没有mlp…

STM32快速复习(九)RTC时钟模块

文章目录 前言一、RTC是什么?RTC的工作原理?二、库函数以及示例1.标准库函数2.示例代码 总结 前言 STM32 的实时时钟(RTC)是一个独立的定时器。 STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下&#xf…

ARM----时钟

时钟频率可以是由晶振提供的,我们需要高频率,但是外部接高的晶振会不稳定,所有使用PLL(锁相环)来放大频率。接下来就让我们学习用外部晶振提供的频率来配置时钟频率。 一.时钟源的选择 在这里我们选择外部晶振作为时钟源,通过查看芯片手册和原理图来看我们的时钟源。 这是…

2024高教社杯全国大学生数学建模竞赛C题解析 | 思路 代码 论文

C题 农作物种植策略 完整论文模型的建立与求解数据清洗问题一的建模与求解问题二的建模与求解问题三的建模与求解 代码第一问 完整论文 本题是一个运筹优化问题。 对于第一问,题目要求在假定各种农作物未来的预期销售量、种植成本、亩产量和销售价格相对于2023年保…

信号的捕捉处理

文章目录 4 信号的捕捉处理4.1 内核如何实现信号的捕捉4.2 sigaction4.2.1 使用这个函数对2号信号进行捕捉4.2.2 pending位图什么时候由1变04.2.3 不允许信号重复发送 5. 其他5.1 可重入函数5.2 volatile5.3 SIGCHLD信号5.4 信号生命周期 4 信号的捕捉处理 4.1 内核如何实现信…

鸿蒙(API 12 Beta6版)图形加速【Vulkan平台】超帧功能开发

业务流程 基于Vulkan图形API平台,集成超帧内插模式的主要业务流程如下: 用户进入超帧适用的游戏场景。游戏应用调用[HMS_FG_CreateContext_VK]接口创建超帧上下文实例。游戏应用调用接口配置超帧实例属性。包括调用[HMS_FG_SetAlgorithmMode_VK]&#x…

第T11周:使用TensorFlow进行优化器对比实验

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 一、前期工作1.设置GPU(如果使用的是CPU可以忽略这步) 二、导入数据1、导入数据2、检查数据3、配置数据集4、数据可视化 三、…

淘宝和微信支付“好”上了,打翻了支付宝的“醋坛子”?

文:互联网江湖 作者:刘致呈 最近,淘宝将全面接入微信支付的消息,在整个互联网圈里炸开了锅。 虽说阿里系平台与腾讯之间“拆墙”的消息,早就不算是啥新鲜事了。而且进一步互联互通,无论是对广大用户&…

43. 1 ~ n 整数中 1 出现的次数【难】

comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9843.%201%EF%BD%9En%E6%95%B4%E6%95%B0%E4%B8%AD1%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0/README.md 面试题 43. 1 ~ n 整数中 1 …

(postman)接口测试进阶实战

1.内置和自定义的动态参数 内置的动态参数有哪些? ---{{$}}--是内置动态参数的标志 //自定义的动态参数 此处date.now()的作用就相当于上面的timestamp 2.业务闭环及文件接口测试 返回的url地址可以在网页中查询得到。 3. 常规断言,动态参数断言&#xf…

Linux进程初识:OS基础、fork函数创建进程、进程排队和进程状态讲解

目录 1、冯诺伊曼体系结构 问题一:为什么在体系结构中存在存储器(内存)? 存储单元总结: 问题二:为什么程序在运行的时候,必须把程序先加载到内存? 问题三:请解释&am…

爆改YOLOv8|利用yolov10的SCDown改进yolov8-下采样

1, 本文介绍 YOLOv10 的 SCDown 方法来优化 YOLOv8 的下采样过程。SCDown 通过点卷积调整通道维度,再通过深度卷积进行空间下采样,从而减少了计算成本和参数数量。这种方法不仅降低了延迟,还在保持下采样过程信息的同时提供了竞争性的性能。…

使用Python通过字节串或字节数组加载和保存PDF文档

处理PDF文件的可以直接读取和写入文件系统中的PDF文件,然而,通过字节串(byte string)或字节数组(byte array)来加载和保存PDF文档在某些情况下更高效。这种方法不仅可以提高数据处理的灵活性,允…

Mysql8客户端连接异常:Public Key Retrieval is not allowed

mysql 8.0 默认使用 caching_sha2_password 身份验证机制 (即从原来mysql_native_password 更改为 caching_sha2_password。) 从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。 客户…