K8s-架构

一、K8s节点划分 

        K8s集群包含Master(控制节点)和Node(工作节点),应用部署在Node节点上。

集群架构图:

二、Master节点

        Master节点分成四个组件:scheduler、ApiServer、Controller Manager、ETCD。类似三层结构,controller,service,dao,scheduler。

2.1 shceduler

        负责应用调度组件。

2.2 ApiServer

        组件间互相通信,接受外部请求,将配置信息保存到ETCD中。

2.3 Controller Manager

        执行集群级功能,如复制组件,跟踪Node节点,处理故障等。

2.4 ETCD

        分布式存储组件,负责存储集群的配置信息。

三、Node工作节点

       集群的工作节点,容器实际运行的节点。

kubelet: 负责与Container runner和Api Server交互,调度节点上的容器。

kube-proxy: 组件间访问代理,解决节点上访问问题。

Container runner:  节点中容器实际运行的地方。

四、Kubernetes的扩展性

4.1 扩展接口

容器运行时接口(CRI)、容器网络接口(CNI)和容器存储接口(CSI)。   

  • CRI(Container Runtime Interface):容器运行时接口,提供计算资源,CRI隔离了各个容器引擎之间的差异,而通过统一的接口与各个容器引擎之间进行互动。
  • CNI(Container Network Interface):容器网络接口,提供网络资源,通过CNI接口,Kubernetes可以支持不同网络环境。例如CCE就是开发的CNI插件支持Kubernetes集群运行在VPC网络中。
  • CSI(Container Storage Interface):容器存储接口,提供存储资源,通过CSI接口,Kubernetes可以支持各种类型的存储。例如CCE就可以方便的对接块存储(EVS)、文件存储(SFS)和对象存储(OBS)。

五、K8s基本对象

        图3 Kubernetes基本对象

5.1 Pod

        Pod是k8s调度的最小单元,一个Pod可以包含多个容器(Conatiner),存储资源(Volume),一个独立的网络IP及控制容器的策略选项。

5.2 Deployment

        Deployment对Pod的服务化封装。可以通多Deployment创建多个相同的Pod。

5.3 Stateful

        有状态的对象。相同容器定义的一组Pod,StatefulSet为它们的每个Pod维护了一个固定的ID。每个Pod都有一个永久不变的ID。

5.4 Job

        Job是用来控制批处理型任务的对象。

5.5 CronJob

        CronJob是基于时间控制的Job,在指定的时间周期运行指定的任务。

5.6 DaemonSet

        DaemonSet是这样一种对象(守护进程),它在集群的每个节点上运行一个Pod,且保证只有一个Pod,这非常适合一些系统层面的应用,例如日志收集、资源监控等,这类应用需要每个节点都运行,且不需要太多实例,一个比较好的例子就是Kubernetes的kube-proxy。

5.7 Service

        Service是用来解决Pod访问问题的。Service有一个固定IP地址,Service将访问流量转发给Pod,而且Service可以给这些Pod做负载均衡。

5.8 Ingress

        Service是基于四层TCP和UDP协议转发的,Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分。

5.9 ConfigMap(资源配置)

        ConfigMap是一种用于存储应用所需配置信息的资源类型,用于保存配置数据的键值对。通过ConfigMap可以方便的做到配置解耦,使得不同环境有不同的配置。

5.10 Secret(加密存储)

        Secret是一种加密存储的资源对象,您可以将认证信息、证书、私钥等保存在Secret中,而不需要把这些敏感数据暴露到镜像或者Pod定义中,从而更加安全和灵活。

5.11 PersistentVolume(PV)(持久化存储卷)

        PV指持久化数据存储卷,主要定义的是一个持久化存储在宿主机上的目录,比如一个NFS的挂载目录。

5.12 PersistentVolumeClaim(PVC)(持久化存储卷声明)

        Kubernetes提供PVC专门用于持久化存储的申请,PVC可以让您无需关心底层存储资源如何创建、释放等动作,而只需要申明您需要何种类型的存储资源、多大的存储空间。

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

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

相关文章

20240117-【UNITY 学习】增加墙跑功能和跳墙功能

替换脚本PlayerCam_01.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening;public class PlayerCam_02 : MonoBehaviour {// 视觉灵敏度参数public float sensX 400;public float sensY 400;// 视角垂直旋转角度限制publ…

redis安装-Linux为例

可以下载一个Shell或者MobaXterm工具,便于操作 在redis官网下载压缩包 开始安装 安装依赖 yum install -y gcc tcl切换目录 切换目录后直接把redis安装包拖到/user/local/src/下 cd /user/local/src/解压然后安装 #解压 tar -zxvf redis-7.2.4.tar.gz #安装 …

Kafka-消费者-KafkaConsumer分析-ConsumerNetworkClient

前面介绍过NetworkClient的实现,它依赖于KSelector、InFlightRequests、Metadata等组件,负责管理客户端与Kafka集群中各个Node节点之间的连接,通过KSelector法实现了发送请求的功能,并通过一系列handle*方法处理请求响应、超时请求…

阿里云云原生助力安永创新驱动力实践探索

云原生正在成为新质生产力变革的核心要素和企业创新的数字基础设施。2023 年 12 月 1 日,由中国信通院举办的“2023 云原生产业大会”在北京召开。在大会“阿里云云原生”专场,安永科技咨询合伙人王祺分享了对云原生市场的总览及趋势洞见,及安…

React的合成事件

合成事件:通过事件委托,利用事件传播机制,当事件传播到document时,再进行分发到对应的组件,从而触发对应所绑定的事件,然后事件开始在组件树DOM中走捕获冒泡流程。 原生事件 —— > React事件 —— >…

小白准备蓝桥杯之旅(c/c++b组)

前言:省赛获奖比例高达百分之60,只要比一半的人努力,你就能大概率获奖。 寒假做的3件事 1.稳基础 熟练掌握基础语法部分,c比c多个stl库优势,c语言的同学需要会实现c中stl库部分 2.刷真题 大概比赛前30天,坚持每天做…

QQ文档删除了怎么恢复?记住这3个方法!

我们有时会因为误操作或者需要清理空间而删除一些不需要的文件,包括我们在QQ平台上接收的文档。但是,一旦我们删除了这些文档,如果没有备份的情况下就难以找回。 那么,如果我们在删除QQ文档后想要恢复它们,应该怎么做…

HarmonyOS —— buildMode 设置(对比 Android Build Varient)

前言 在安卓中 Build Variant 主要依赖模块(module)中 build.gradle 的 BuildType 和 ProductFlavor 提供的属性和方法,我们可以使用 Build Type 可以配置不同的构建方式、ProductFlavor 主要用来进行多渠道打包。 在鸿蒙中要做到同样像效果…

聚观早报 | OpenAI组建新团队;Nexperia推出新款全新产品

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 1月18日消息 OpenAI组建新团队 Nexperia推出全新产品 苹果推出Vision Pro应用商店 华为nova 12 Pro心钥套装 蔚…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C) Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过NEOAPI SDK使用相机日志跟踪功能1.引用合适的类文件2.通过NEOAPI SDK使用相机日志跟踪功能3.通…

Verilog刷题笔记16

题目: Since digital circuits are composed of logic gates connected with wires, any circuit can be expressed as some combination of modules and assign statements. However, sometimes this is not the most convenient way to describe the circuit. Pro…

[Vue]从数据库中动态加载阿里巴巴矢量图标的两种方式

记录一次在Vue中动态使用阿里巴巴矢量图标库 这是本人第一次使用阿里巴巴的矢量图标库,简单的导入和使用的话网上的教程很多,这里不多赘述,本人的需求是从数据库中加载出来并且显示到页面上,接下来简述一下如何实现。 以下代码均是…