当前位置: 首页 > news >正文

k8s(二)

五、kubernetes架构(K8S的架构也是master和node模式)

集群里至少需要有一个master节点,即就是主节点。node节点可以多个。

若是多个master节点,worker节点和master的apiserverr进行交互时,就需要通过LB(load banlance)

1、示意图(一个master、两个worker节点)

知道工作的机制和流程

1.1此处红色圈住的是master节点

在这里插入图片描述

1.2后面的是两个worker节点

网盘的集群一个master两个worker

2、组件

2.1、master组件:apiserver、schedule、contonrollermanager

1)master节点的作用

控制整个集群、负责整个集群的控制和管理。
可以暴露api
调度部署
对节点进行管理。

master是不建议去部署我们的应用程序的,部署应用程序会增加节点的压力,如果master节点挂了,单个看s就不可以再进行用,master节点可以打污点

2)master组件中apiserver、schedule、contonrollermanager的作用
①apiserver

集群的控制中枢,整个K8S的操作都是要经过apiserver,即就是资源操作的入口。也是资源操作唯一的入口。

②contonrollermanager

一个控制器,会通过apiserver提供的接口去实时监控集群所有资源的状态。会保证资源达到期望值

③schedule调度器

通过apiserver提供的接口,和这个apiserver进行通信。如果监听到有创建资源的信息,通过kubectl创建发送资源的命令,监听到创建资源的信息后,会检索所有要求pod的work节点,通过调度算法去选择节点,最后将资源绑在目标的节点上。

关于master至少要三个节点,这样才可以实现高可用。如果一个挂了,整个k8s都没法用了。

2.2、worcker节点组件(即就是node节点):主要就是kubelet、kube-proxy

1)kubelet作用

两个woker节点,上面一个,下面一个
在这里插入图片描述

kubelet监听节点上的pod的状态,定期去调用apiserver暴露的接口,上报节点和pod节点的状态上报到aiserver。也可以通过apisertver监听到pod相关信息,监听到资源不满足期望,会告诉给apiserver,kubelet就获取到了这个信息,要启动pod的节点,会去调用docker提供的接口创建pod。创建成功后,会把信息上传到给apiserver,apsserver每次会把信息放到etcd中,edc是键值数据库。etcd的也是多个,work节点上另外一个就是kube-proxy,做负载均衡,每个worker上都有。

2)kube-proxy(提供网络代理、负载均衡)
3)calico
kubetcl get po -n kube-system -owide 

获取pod,通过 -n指定命名空间、kube-system系统命名空间、-owide展示扩展信息

在这里插入图片描述

上面有calico,网络插件,功能就是给每个pod提供IP,并且将每一个node当作路由器。

4)coredns

解决服务发现问题,服务之间,访问的话都是通过serversice进行调用,sevice解析ip地址就是coredns进行解析。

这里也可以看coredns的service

kubetcl get svnc -n kube-system

在这里插入图片描述
kube-dns默认是k8s serverice网段的第10个

每一个节点还会去安装docker,docker是容器引擎,主要就是负责对本机上容器的一个创建拉取镜像。

这些pod都在系统空间下
meterics-server采集数据的。可以通过kebutcl top po -n,默认命名空间下密钥创建pod。此时看到的资源都指定了是kubetcl命名空间下的

在这里插入图片描述
通过命令可以看到每个pod的cpu、内存、的消耗。
cpu的m是豪赫。1000mh的话是等于1h

3、etcd

etcd生生产环境上一定是集群

etcd在redis也看到过,是在键值数据库里,都是键值数据库

关于etc也是部署三个以上的基数节点,而且是单独部署,不要和master部署,最好使用ssd的硬盘,不然会导致集群比较慢,apisever会频繁的和etcd做交互,把收集到的信息次持久化到etcd中。

相关文章:

k8s(二)

五、kubernetes架构(K8S的架构也是master和node模式) 集群里至少需要有一个master节点,即就是主节点。node节点可以多个。 若是多个master节点,worker节点和master的apiserverr进行交互时,就需要通过LB(load banlance)…...

ClickHouse表引擎概述

ClickHouse表引擎概述 表引擎的功能: 数据的存储方式 数据的存储位置 是否可以使用索引 是否可以使用分区 是否支持数据副本 并发数据访问 ClickHouse在建表时必须指定表引擎。 表引擎主要分为四大类:MergeTree系列、Log系列、与其他存储/处理系…...

jenkins系列-04-jenkins参数化构建

使用maven build之前,先checkout 指定分支或标签: 拖拽调整顺序:shell执行在前,构建在后: gitee新建标签tag:...

Flutter框架时间线梳理

Flutter是一个开源的UI工具包,它用于构建高质量的原生移动应用。Flutter的版本历史如下: Flutter 0.1.2: 2018年发布,这是第一个正式发布的版本,包含了基本的框架和工具。 Flutter 1.0.0: 2019年发布&…...

RAG 效果提升的最后一步—— 微调LLM

如果说,rerank能够让RAG的效果实现百尺竿头更进一步,那么LLM微调应该是RAG效果提升的最后一步。 把召回的数据,经过粗排,重排序后,送给模型,由模型最后总结答案。LLM的确已经是RAG的最后一步了。 这里还是会…...

C语言 | Leetcode C语言题解之第230题二叉搜索树中第K小的元素

题目: 题解: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/int search_num(struct TreeNode* root, int k, int *result, int num) {if(num k 1){retu…...

YOWOv2(yowov2)动作识别+Fastreid身份识别 详细安装与实现

首先yowov2是一款简单且实时的时空动作检测方案,fastreid是行人重识别(身份识别) yowov2介绍链接直达fastreid链接直达为时空动作检测任务设计实时框架仍然是一个挑战。YOWOv2 提出了一种新颖的实时动作检测框架,利用三维骨干和二…...

【微服务】Spring Cloud中如何使用Eureka

摘要 Eureka作为Netflix开源的服务发现框架,在Spring Cloud体系中扮演着至关重要的角色。本文详细介绍了Eureka的基本概念、工作原理以及如何在Spring Cloud中集成和使用Eureka进行服务发现和管理。通过深入分析Eureka的注册与发现机制、区域感知和自我保护等高级特…...

【Neo4j】实战 (数据库技术丛书)学习笔记

Neo4j实战 (数据库技术丛书) 第1章演示了应用Neo4j作为图形数据库对改进性能和扩展性的可能性, 也讨论了对图形建模的数据如何正好适应于Neo4j数据模型,现在到了该动 手实践的时间了。第一章 概述 Neo4j将数据作为顶点和边存储(或者用Neo4j术语,节点和关系存 储)。用户被定…...

【Perl】Perl 语言入门

1. Perl语言介绍 Perl 是一种高级、解释型、动态编程语言,由Larry Wall在1987年发布。Perl 以其强大的文本处理能力而闻名,特别是在处理报告生成、文件转换、系统管理任务等方面。它吸收了C、Shell脚本语言、AWK、sed等语言的特性,并加入了大…...

godis源码分析——database存储核心1

前言 redis的核心是数据的快速存储,下面就来分析一下godis的底层存储是如何实现,先分析单机服务。 此文采用抓大放小原则,先大的流程方向,再抓细节。 流程图 源码分析 现在以客户端连接,并发起set key val命令为例…...

【UE5.1】Chaos物理系统基础——06 子弹破坏石块

前言 在前面我们已经完成了场系统的制作(【UE5.1】Chaos物理系统基础——02 场系统的应用_ue5)以及子弹的制作(【UE5.1 角色练习】16-枪械射击——瞄准),现在我们准备实现的效果是,角色发射子弹来破坏石柱。…...

Django是干什么的?好用么?

Django是一个开源的Python Web框架,用于快速开发高质量的Web应用程序。它提供了许多功能和工具,以简化常见的Web开发任务,如路由、请求处理、数据库管理等。 Django的优点包括: 简单易用:Django提供了清晰的文档和丰…...

C语言实现数据结构B树

B树(B-Tree)是一种自平衡的树数据结构,它维护着数据的有序性,并允许搜索、顺序访问、插入、删除等操作都在对数时间内完成。B树广泛用于数据库和操作系统的文件系统中。 B树的基本特性 根节点:根节点至少有两个子节点…...

[论文阅读]MaIL: Improving Imitation Learning with Mamba

Abstract 这项工作介绍了mamba模仿学习(mail),这是一种新颖的模仿学习(il)架构,为最先进的(sota)变换器策略提供了一种计算高效的替代方案。基于变压器的策略由于能够处理具有固有非…...

在HTML中使用JavaScript

在 HTML 中使用 JavaScript 有以下几种常见的方式&#xff1a; 一、内联脚本 &#xff08;一&#xff09;基本语法 内联脚本是将 JavaScript 代码直接嵌入到 HTML 文件的 <script> 标签内部。 <!DOCTYPE html> <html lang"en"> <head> <…...

InjectFix 热更新解决方案

简介 今天来谈一谈&#xff0c;项目种的客户端热更新解决方案。InjectFix是腾讯xlua团队出品的一种用于Unity中C#代码热更新热修复的解决方案。支持Unity全系列&#xff0c;全平台。与xlua的思路类似&#xff0c;InjectFix解决的痛点主要在于Unity中C#代码写的逻辑在发包之后无…...

PHP7.4安装使用rabbitMQ教程(windows)

&#xff08;1&#xff09;&#xff0c;安装rabbitMQ客户端erlang语言 一&#xff0c;erlang语言安装 下载地址1—— 下载地址2——https://www.erlang.org/patches/otp-27.0 二&#xff0c;rabbitMQ客户端安装 https://www.rabbitmq.com/docs/install-windows &#xff08…...

分页以及tab栏切换,动态传类型

<view class"disTitle"><view class"disName">账户明细</view><view class"nav"><u-tabs lineWidth"0" :activeStyle"{color: #FD893F }" :list"navList" change"tabsChange&quo…...

【算法】平衡二叉树

难度&#xff1a;简单 题目 给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 示例&#xff1a; 示例1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;true 示例2&#xff1a; 输入&#xff1a;root [1,2,2,3,3,null,null,4,4] 输出&…...

模型越强,Bug越隐?DeepSeek代码生成评测:12个真实项目踩坑案例,速查避雷清单

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;模型越强&#xff0c;Bug越隐&#xff1f;DeepSeek代码生成评测&#xff1a;12个真实项目踩坑案例&#xff0c;速查避雷清单 当大模型在代码补全、函数生成和单元测试编写中表现愈发惊艳&#xff0c;一个反直觉…...

后端开发者体验 AI 前端:用 TinyVue 做一个智能业务表单 Demo

摘要 作为 Java 后端开发者&#xff0c;我平时更多关注接口、SQL 和业务逻辑&#xff0c;但后台系统里也绕不开表单、列表和报表页面。本文结合 OpenTiny NEXT 学习体验&#xff0c;用 TinyVue 做一个智能业务表单 Demo&#xff0c;聊聊 AI 前端对后端开发者到底有没有实际帮助…...

Monkey测试进阶:黑白名单搭配这些隐藏参数,让你的安卓稳定性测试效率翻倍

Monkey测试进阶&#xff1a;黑白名单搭配这些隐藏参数&#xff0c;让你的安卓稳定性测试效率翻倍在持续集成和自动化测试成为标配的今天&#xff0c;Monkey测试早已不再是简单的随机事件生成工具。当你的测试场景从单次手动执行升级到夜间批量测试或CI流水线时&#xff0c;如何…...

从零到一:手把手教你用Android Studio调试CarService源码(Android 12.0.0_r3)

从零构建Android车载调试环境&#xff1a;CarService深度调试实战指南 在车载Android开发领域&#xff0c;CarService作为连接应用层与车辆硬件的核心枢纽&#xff0c;其重要性不言而喻。但对于大多数开发者而言&#xff0c;面对庞大的源码库和复杂的车载系统架构&#xff0c;如…...

Driver Store Explorer完全指南:Windows驱动管理的终极解决方案

Driver Store Explorer完全指南&#xff1a;Windows驱动管理的终极解决方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Driver Store Explorer&#xff08;简称RAPR&#xff09;是一…...

量子机器学习对称性工程权衡:Twirlator工具解析与实战指南

1. 量子机器学习中的对称性&#xff1a;从理论到工程实践的权衡在量子机器学习&#xff08;QML&#xff09;领域&#xff0c;我们一直在寻找能够提升模型性能、加速训练并增强泛化能力的“银弹”。对称性&#xff0c;这个在经典几何深度学习&#xff08;Geometric Deep Learnin…...

Construct3新手避坑指南:为什么你的射击游戏角色总卡住动不了?

Construct3射击游戏开发实战&#xff1a;角色卡顿问题深度排查手册刚完成第一个Construct3射击游戏demo的兴奋感&#xff0c;往往会被运行时角色突然卡住的尴尬瞬间浇灭。这不是教程里承诺的流畅体验——你的主角在关键时刻僵在原地&#xff0c;子弹发射延迟&#xff0c;敌人却…...

手把手教你无损转换:把老电脑的Legacy启动盘改成UEFI+GPT(附DiskGenius操作截图)

老电脑焕新指南&#xff1a;从Legacy到UEFIGPT的无损迁移实战当你的老电脑开机速度越来越慢&#xff0c;或者被Windows 11的安装要求拒之门外时&#xff0c;很可能是因为它还在使用传统的Legacy启动方式和MBR分区表。本文将带你深入了解这两种启动方式的区别&#xff0c;并手把…...

Arm平台调试工具链全解析与实战指南

1. Arm参考设计平台调试工具全指南作为一名长期从事Arm平台开发的工程师&#xff0c;我深知调试工具链的选择和使用对项目效率的决定性影响。本文将系统梳理Arm参考设计平台(RDP)的全套调试资源&#xff0c;涵盖从基础工具配置到高级调试技巧的完整知识体系。重要提示&#xff…...

C盘告急别慌!保姆级教程:把WSL2的Ubuntu 20.04完整搬家到D盘(附恢复普通用户权限)

C盘告急别慌&#xff01;保姆级教程&#xff1a;把WSL2的Ubuntu 20.04完整搬家到D盘&#xff08;附恢复普通用户权限&#xff09;当C盘空间不足的红色警告频繁弹出&#xff0c;而你的WSL2 Ubuntu系统正占用着宝贵空间时&#xff0c;这篇文章将成为你的救星。不同于常规安装教程…...