面试题整理9----谈谈对k8s的理解2
面试题整理9----谈谈对k8s的理解2
- 1. Service 资源
- 1.1 Service
- ClusterIP
- NodePort
- LoadBalancer
- Ingress
- ExternalName
- 1.2 Endpoints
- 1.3 Ingress
- 1.4 EndpointSlice
- 1.5 IngressClass
- 2. 配置和存储资源
- 2.1 ConfigMap
- 2.2 Secret
- 2.3 PersistentVolume
- 2.4 PersistentVolumeClaim
- 2.5 StorageClass
- 2.5.1 PV,PVC,StorageClass之间的关系
- 2.6 Volume
- 2.7 CSIDriver
- 2.8 CSINode
- 2.9 CSIStorageCapacity
- 2.10 StorageVersionMigration v1alpha1
- 3. RBAC 鉴权资源
- 3.1 Role和RoleBinding
- 3.1.1 Role
- 3.1.2 RoleBinding
- 3.1.3 常见用例
- 3.2 ClusterRole和ClusterRoleBinding
- 3.2.1 ClusterRole
- 3.2.2 ClusterRoleBinding
- 3.2.3 常见用例
- 3.3 LocalSubjectAccessReview
- 3.4 SelfSubjectAccessReview
- 3.5 SelfSubjectRulesReview
- 3.6 SubjectAccessReview
1. Service 资源
1.1 Service
Service 是软件服务(例如 mysql)的命名抽象,包含代理要侦听的本地端口(例如 3306)和一个选择算符,选择算符用来确定哪些 Pod 将响应通过代理发送的请求。
Service几种模式:
适用于集群内部的服务间通信。
apiVersion: v1
kind: Service
metadata:name: my-service
spec:selector:app: my-appports:- protocol: TCPport: 80targetPort: 8080
适用于需要从集群外部通过node节点的映射访问服务的场景。
api版version: v1
kind: Service
metadata:name: my-service
spec:selector:app: my-apptype: NodePortports:- protocol: TCPport: 80targetPort: 8080nodePort: 30007
适用于需要从互联网访问服务的场景。
apiVersion: v1
kind: Service
metadata:name: my-service
spec:selector:app: my-apptype: LoadBalancerports:- protocol: TCPport: 80targetPort: 8080
适用于需要基于路径或主机名路由流量的场景。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: my-ingress
spec:rules:- host: my-app.comhttp:paths:- path: /pathType: Prefixbackend:service:name: my-serviceport:number: 80
将 Service 映射到一个外部名称,通常是一个 DNS 名称。适用于需要将 Kubernetes 服务与外部服务集成的场景。
apiVersion: v1
kind: Service
metadata:name: my-service
spec:type: ExternalNameexternalName: my-external-service.com
1.2 Endpoints
Endpoints 是实现实际服务的端点的集合。即是通过service发现的后端pods的集合.
1.3 Ingress
Ingress 是允许入站连接到达后端定义的端点的规则集合。
1.4 EndpointSlice
EndpointSlice 是实现某 Service 的端点的子集.
1.5 IngressClass
IngressClass 代表 Ingress 的类,被 Ingress 的规约引用
2. 配置和存储资源
2.1 ConfigMap
ConfigMap 包含供 Pod 使用的配置数据。存储非敏感的配置数据。如配置文件、环境变量等。
有2种方法可以加载configmap中的环境变量:
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: my-imageenvFrom:- configMapRef:name: my-configmap
或者
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: my-imageenv:- name: MY_ENV_VARIABLEvalueFrom:configMapKeyRef:name: my-configmapkey: my-config-key
2.2 Secret
Secret 包含某些类别的秘密数据。 存储敏感数据,并确保数据的安全性和访问控制。如密码、密钥、证书等。
用户名密码的引用方式:
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: my-imageenv:- name: DB_USERNAMEvalueFrom:secretKeyRef:name: my-secretkey: username- name: DB_PASSWORDvalueFrom:secretKeyRef:name: my-secretkey: password
证书文件的引用:
secret的导入
kubectl create secret tls my-tls-secret \--cert=path/to/tls.crt \--key=path/to/tls.key
pod中的引用
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: my-imagevolumeMounts:- name: tls-certsmountPath: /app/tlsreadOnly: truevolumes:- name: tls-certssecret:secretName: my-tls-secret
2.3 PersistentVolume
PersistentVolume (PV) 是管理员制备的一个存储资源。全局资源
2.4 PersistentVolumeClaim
PersistentVolumeClaim 是用户针对一个持久卷的请求和申领。名称空间资源
2.5 StorageClass
StorageClass 为可以动态制备 PersistentVolume 的存储类描述参数。全局资源
2.5.1 PV,PVC,StorageClass之间的关系
- Storage Class:定义了一种存储类型,包括存储的类型、回收策略等。它允许动态创建 PV。
- Persistent Volume (PV):是集群中的一块存储资源,类似于一个物理磁盘。PV 可以是静态创建的,也可以是通过 Storage Class 动态创建的。
- Persistent Volume Claim (PVC):是用户对存储资源的请求,类似于对 PV 的申请。PVC 可以绑定到一个 PV,从而使用该 PV 提供的存储资源。
2.6 Volume
Volume 表示 Pod 中一个有名字的卷,可以由 Pod 中的任意容器进行访问。
2.7 CSIDriver
CSIDriver 抓取集群上部署的容器存储接口(CSI)卷驱动有关的信息。
2.8 CSINode
CSINode 包含节点上安装的所有 CSI 驱动有关的信息。
2.9 CSIStorageCapacity
CSIStorageCapacity 存储一个 CSI GetCapacity 调用的结果。
2.10 StorageVersionMigration v1alpha1
StorageVersionMigration 表示存储的数据向最新存储版本的一次迁移。
3. RBAC 鉴权资源
3.1 Role和RoleBinding
Role
和 RoleBinding
是 Kubernetes 中用于管理命名空间级别权限的两个核心资源。它们与 ClusterRole
和 ClusterRoleBinding
类似,但作用范围仅限于特定的命名空间。
3.1.1 Role
Role
定义了一组在特定命名空间内的权限。你可以把它看作是一种命名空间级别的“角色”,它描述了哪些 API 组、资源类型以及操作可以被允许。
Role 示例:
- 查看特定命名空间中的 pods
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:namespace: defaultname: pod-reader
rules:
- apiGroups: [""]resources: ["pods"]verbs: ["get", "watch", "list"]
- 管理特定命名空间中的 ConfigMaps
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:namespace: defaultname: configmap-admin
rules:
- apiGroups: [""]resources: ["configmaps"]verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
3.1.2 RoleBinding
RoleBinding
将 Role
绑定到一个或多个用户、组或服务账户上,从而授予这些实体在特定命名空间内的相应权限。你可以把它看作是一种命名空间级别的“角色绑定”。
RoleBinding 示例:
- 将
pod-reader
Role 绑定到特定用户
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: read-podsnamespace: default
subjects:
- kind: Username: janeapiGroup: rbac.authorization.k8s.io
roleRef:kind: Rolename: pod-readerapiGroup: rbac.authorization.k8s.io
- 将
configmap-admin
Role 绑定到一个服务账户
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: configmap-admin-bindingnamespace: default
subjects:
- kind: ServiceAccountname: configmap-admin-sa
roleRef:kind: Rolename: configmap-adminapiGroup: rbac.authorization.k8s.io
3.1.3 常见用例
-
命名空间管理员:创建一个具有特定命名空间内所有权限的
Role
,并将其绑定到命名空间管理员用户或组。 -
应用程序访问控制:为应用程序创建一个
Role
,允许它访问和修改特定命名空间内的资源(如 pods、services、configmaps 等),并将其绑定到应用程序使用的服务账户。 -
CI/CD 管道:为 CI/CD 管道创建一个
Role
,允许它在特定命名空间内创建、更新和删除部署、服务等资源,并将其绑定到 CI/CD 工具使用的服务账户。 -
多租户环境:在多租户环境中,为每个租户创建一个独立的命名空间,并为每个租户分配一个
Role
和RoleBinding
,以限制他们对资源的访问权限。
通过合理地使用 Role
和 RoleBinding
,你可以实现细粒度的访问控制,确保集群中各个命名空间的安全性和稳定性。
3.2 ClusterRole和ClusterRoleBinding
ClusterRole
和 ClusterRoleBinding
是 Kubernetes 中用于管理集群级别权限的两个核心资源。它们与 Role
和 RoleBinding
类似,但作用范围是整个集群,而不仅仅是某个命名空间。
3.2.1 ClusterRole
ClusterRole
定义了一组跨集群范围的权限。你可以把它看作是一种集群级别的“角色”,它描述了哪些 API 组、资源类型以及操作可以被允许。
ClusterRole 示例:
- 查看所有命名空间中的 pods
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: pod-reader
rules:
- apiGroups: [""]resources: ["pods"]verbs: ["get", "watch", "list"]
- 管理集群中的所有 ConfigMaps
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: configmap-admin
rules:
- apiGroups: [""]resources: ["configmaps"]verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
3.2.2 ClusterRoleBinding
ClusterRoleBinding
将 ClusterRole
绑定到一个或多个用户、组或服务账户上,从而授予这些实体相应的权限。你可以把它看作是一种集群级别的“角色绑定”。
ClusterRoleBinding 示例:
- 将
pod-reader
ClusterRole 绑定到特定用户
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: read-pods
subjects:
- kind: Username: janeapiGroup: rbac.authorization.k8s.io
roleRef:kind: ClusterRolename: pod-readerapiGroup: rbac.authorization.k8s.io
- 将
configmap-admin
ClusterRole 绑定到一个服务账户
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: configmap-admin-binding
subjects:
- kind: ServiceAccountname: configmap-admin-sanamespace: kube-system
roleRef:kind: ClusterRolename: configmap-adminapiGroup: rbac.authorization.k8s.io
3.2.3 常见用例
-
集群管理员:创建一个具有所有权限的
ClusterRole
,并将其绑定到集群管理员用户或组。 -
监控和日志收集:为监控和日志收集工具创建一个
ClusterRole
,允许它们读取集群中的各种资源(如 pods、nodes、services 等),并将其绑定到相应的服务账户。 -
CI/CD 管道:为 CI/CD 管道创建一个
ClusterRole
,允许它创建、更新和删除部署、服务等资源,并将其绑定到 CI/CD 工具使用的服务账户。 -
备份和恢复:为备份和恢复工具创建一个
ClusterRole
,允许它读取和修改持久卷、配置映射等资源,并将其绑定到备份和恢复工具使用的服务账户。
3.3 LocalSubjectAccessReview
LocalSubjectAccessReview 检查用户或组是否可以在给定的命名空间内执行某操作。
3.4 SelfSubjectAccessReview
SelfSubjectAccessReview 检查当前用户是否可以执行某操作。
3.5 SelfSubjectRulesReview
SelfSubjectRulesReview 枚举当前用户可以在某命名空间内执行的操作集合。
3.6 SubjectAccessReview
SubjectAccessReview 检查用户或组是否可以执行某操作。
至此对k8s的理解应该就差不多了.当然面试中不过不拦着可以继续对K8s的监控,告警,日志,流量治理,CICD等各个面继续深入阐述自己的理解.
相关文章:
面试题整理9----谈谈对k8s的理解2
面试题整理9----谈谈对k8s的理解2 1. Service 资源1.1 ServiceClusterIPNodePortLoadBalancerIngressExternalName 1.2 Endpoints1.3 Ingress1.4 EndpointSlice1.5 IngressClass 2. 配置和存储资源2.1 ConfigMap2.2 Secret2.3 PersistentVolume2.4 PersistentVolumeClaim2.5 St…...
fpga系列 HDL:Quartus II PLL (Phase-Locked Loop) IP核 (Quartus II 18.0)
在 Quartus II 中使用 PLL (Phase-Locked Loop) 模块来将输入时钟分频或倍频,并生成多个相位偏移或频率不同的时钟信号: 1. 生成 PLL 模块 在 Quartus II 中: 打开 IP Components。 file:///C:/intelFPGA_lite/18.0/quartus/common/help/w…...
中国量子计算机领域的发展现状与展望
中国量子计算机领域的发展现状与展望 摘要 随着全球科技竞争的加剧,量子计算作为前沿技术领域备受瞩目。中国在量子计算机的研发方面取得了显著进展,本文将深入探讨中国量子计算机领域的现状、取得的成果、面临的挑战以及未来的发展方向,并…...
html(超文本标记语言)
声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&…...
如何在Windows系统上安装和配置Maven
Maven是一个强大的构建和项目管理工具,广泛应用于Java项目的自动化构建、依赖管理、项目构建生命周期控制等方面。在Windows系统上安装Maven并配置环境变量,是开发者开始使用Maven的第一步。本文将详细介绍如何在Windows系统上安装和配置Maven࿰…...
基于Python Scrapy的豆瓣Top250电影爬虫程序
Scrapy安装 Python实现一个简单的爬虫程序(爬取图片)_python简单扒图脚本-CSDN博客 创建爬虫项目 创建爬虫项目: scrapy startproject test_spider 创建爬虫程序文件: >cd test_spider\test_spider\spiders >scrapy g…...
mysql,数据库数据备份
mysql 一.数据库备份概念1.备份分类2.备份策略3.备份三要素二.完全备份操作1.物理备份(还原),冷备份2.逻辑备份,温备份三.percona软件的xtrabackup工具备份(2备份,3还原),增量,差异1.percona软件安装2.增量备份(还原)3.差异备份四.binlog日志1.binlog日志概念2.查看binlog日志信…...
模仿elementui的Table,实现思路
vue2子组件使用render,给子子组件插槽传值 和elementui的Table一样使用render 在 Vue 2 中,子组件使用render函数向子子组件插槽传值可以通过以下步骤实现: 1、创建子组件 首先创建一个子组件,在子组件中使用render函数来渲染内容…...
Android Studio AI助手---Gemini
从金丝雀频道下载最新版 Android Studio,以利用所有这些新功能,并继续阅读以了解新增内容。 Gemini 现在可以编写、重构和记录 Android 代码 Gemini 不仅仅是提供指导。它可以编辑您的代码,帮助您快速从原型转向实现,实现常见的…...
大模型+安全实践之春天何时到来?
引子:距《在大模型实践旅途中摸了下上帝的脚指头》一文发布近一年,2024年笔者继续全情投入在大模型+安全上,深度参与了一些应用实践,包括安全大模型首次大规模应用在国家级攻防演习、部分项目的POC直到项目落地,也推动了一些场景安全大模型应用从0到3的孵化上市。这一年也…...
ACL技术---访问控制列表
是一种策略。 对于网络中的流量而言,通常有两种处理方式 允许 拒绝 ACL 的原理 配置了 ACL 的网络设备会根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对报 文执行预先设定好的处理动作。 ACL 的功能 访问控制:在设备…...
第25周:文献阅读
目录 摘要 Abstract 文献阅读 现有问题 提出方法 创新点 方法论 实验研究 数据集 数据预处理 仿真实验 评价指标 实验结果分析 总结 摘要 本篇论文提出了一种基于深度学习框架的风速预测方法——SSA-BiLSTM网络,旨在提高风速预测的精确性。研究使…...
BiTCN-BiGRU基于双向时间卷积网络结合双向门控循环单元的数据多特征分类预测(多输入单输出)
Matlab实现BiTCN-BiGRU基于双向时间卷积网络结合双向门控循环单元的数据多特征分类预测(多输入单输出) 目录 Matlab实现BiTCN-BiGRU基于双向时间卷积网络结合双向门控循环单元的数据多特征分类预测(多输入单输出)分类效果基本描述…...
docker数据卷
什么是数据卷? 在容器中是无法通过vi命令对一个容器中的资源做修改的,这个时候就需要通过数据卷将文件中的内容映射到宿主机,在宿主机修改的文件会更新到容器中,并且容器被删除后不会把数据卷删除,数据卷中的数据会被持…...
Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-信号量【入门三】
继续上一篇任务创建 【Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务创建【入门二】-CSDN博客】 今天要实现再创建一个任务。【二值和互斥都进行测试】 ①、通过任务A发送一个信号量,另一个任务得到信号量后再发送helloworld。 ②、两个任务通过互斥信…...
使用C#绘制具有平滑阴影颜色的曼德布洛特集分形
示例使用复数类在 C# 中轻松绘制曼德布洛特集分形解释了如何通过迭代方程绘制曼德布洛特集:...
Unittest01|TestCase
一、入门 1、新建测试文件 打开pycharm→左上角新建项目→选择项目路径→选择python解释器→创建→点击新建好的项目,右键新建python文件→测试文件(py文件)命名必须以test开头 2、创建测试用例 定义测试类:导入unittest模块→…...
Django实现异步视图asyncio请求
随着现代Web应用程序对性能和响应速度的需求不断增加,开发者们越来越倾向于采用异步编程来提升应用的效率和用户体验。在传统的Web开发框架中,通常采用同步请求方式,这意味着每一个请求都需要等待前一个请求完成后才能继续处理。对于高并发的请求,可能会出现性能瓶颈。而Dj…...
Apache Samza开源的分布式流处理框架
Apache Samza 是一个开源的分布式流处理框架,用于处理实时数据流和分布式任务。它最初由 LinkedIn 开发,并在 2014 年捐赠给 Apache 软件基金会。Samza 的设计目标是为开发人员提供一个易用、可靠、高效的流处理工具。以下是其关键特点和架构的简介: 核心特点 简单的编程模…...
Linux实验报告5-shell脚本编程进阶
目录 一:实验目的 二:实验内容 1 编写脚本,实现将当前目录中所有子目录的名称输出到屏幕上。 2 首先以你的姓氏的拼音为开头在当前用户的主目录下新建3个文件和2个子目录,如zi1,zi2,zi3以及子目录zi.d和…...
YOLO系列正传(四)YOLOv3论文精解(下)——损失函数推导与其他优化项
系列文章 YOLO系列基础 YOLO系列基础合集——小白也看得懂的论文精解-CSDN博客 YOLO系列正传 YOLO系列正传(一)类别损失与MSE损失函数、交叉熵损失函数-CSDN博客 YOLO系列正传(二)YOLOv3论文精解(上)——从FPN到darknet-53-C…...
【漏洞复现】CVE-2023-37461 Arbitrary File Writing
漏洞信息 NVD - cve-2023-37461 Metersphere is an opensource testing framework. Files uploaded to Metersphere may define a belongType value with a relative path like ../../../../ which may cause metersphere to attempt to overwrite an existing file in the d…...
【OpenCV计算机视觉】图像处理——平滑
本篇文章记录我学习【OpenCV】图像处理中关于“平滑”的知识点,希望我的分享对你有所帮助。 目录 一、什么是平滑处理 1、平滑的目的是什么? 2、常见的图像噪声 (1)椒盐噪声 编辑(2) 高斯噪声 &a…...
【java面向对象编程】第七弹----Object类、类变量与类方法
笔上得来终觉浅,绝知此事要躬行 🔥 个人主页:星云爱编程 🔥 所属专栏:javase 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 一、Object类 1.1equa…...
大模型微调---Prompt-tuning微调
目录 一、前言二、Prompt-tuning实战2.1、下载模型到本地2.2、加载模型与数据集2.3、处理数据2.4、Prompt-tuning微调2.5、训练参数配置2.6、开始训练 三、模型评估四、完整训练代码 一、前言 Prompt-tuning通过修改输入文本的提示(Prompt)来引导模型生…...
Connecting to Oracle 11g Database in Python
# encoding: utf-8 # 版权所有 2024 涂聚文有限公司 # 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎 # 描述:python -m pip install oracledb # python -m pip install cx_Oracle --upgrade # pip install cx_Oracle # Autho…...
16.2、网络安全风险评估技术与攻击
目录 网络安全风险评估技术方法与工具 网络安全风险评估技术方法与工具 资产信息收集,可以通过调查表的形式把我们各类的资产信息进行一个统计和收集,掌握被评估对象的重要资产分布,进而分析这些资产关联的业务面临的安全威胁以及存在的安全…...
Windows脚本清理C盘缓存
方法一:使用power文件.ps1的文件 脚本功能 清理临时文件夹: 当前用户的临时文件夹(%Temp%)。系统临时文件夹(C:\Windows\Temp)。 清理 Windows 更新缓存: 删除 Windows 更新下载缓存࿰…...
ChromeOS 131 版本更新
ChromeOS 131 版本更新 1. ChromeOS Flex 自动注册 在 ChromeOS 131 中,ChromeOS Flex 的自动注册功能现已允许大规模部署 ChromeOS Flex 设备。与 ChromeOS 零接触注册类似,自动注册将通过组织管理员创建的注册令牌嵌入到 ChromeOS Flex 镜像中。这将…...
PDF24 Creator免费版
PDF点击上方"蓝字"关注我们 01、前言 >>> 官网:https://tools.pdf24.org/zh/creator PDF24 Creator完全免费,没有任何限制。企业也能免费用。 不可以,PDF24 Creator只能装在Windows系统上。目前不支持Linux和Mac。 PDF24…...
网络安全之访问控制
简介 同一分布式环境下,同一用户可能具有多个应用服务器的访问授权,同一应用服务器也有多个授权访问的用户,同一用户在一次事务中可能需要访问多个授权访问的应用服务器,应用服务器可能还需要对访问用户进行身份鉴别。为了实现这…...
vtie项目中使用到了TailwindCSS,如何打包成一个单独的CSS文件(优化、压缩)
在不依赖 Vite 或其他构建工具的情况下,使用 TailwindCSS CLI 快速生成独立的 CSS 文件是一种简单高效的方法,适合需要纯样式文件的场景。 这个项目中,使用到了tailwindCss, 需要把里面的样式打包出来,给其他项目用。 使用命令生…...
前端登录注册页面springboot+vue2全开发!
需求目标: 有“登录界面”和“注册界面”以及“功能操作界面”: 我们打开程序会自动进入“登录界面”,如果密码输入正确则直接进入“功能操作界面”,在“登录界面”我们可以点击注册进入“注册页面”,注册好了可以再跳…...
批量提取zotero的论文构建知识库做问答的大模型(可选)——含转存PDF-分割统计PDF等
文章目录 提取zotero的PDF上传到AI平台保留文件名代码分成20个PDF视频讲解 提取zotero的PDF 右键查看目录 发现目录为 C:\Users\89735\Zotero\storage 写代码: 扫描路径‘C:\Users\89735\Zotero\storage’下面的所有PDF文件,全部复制一份汇总到"C:\Users\89735\Downl…...
3 JDK 常见的包和BIO,NIO,AIO
JDK常见的包 java.lang:系统基础类 java.io:文件操作相关类,比如文件操作 java.nio:为了完善io包中的功能,提高io性能而写的一个新包 java.net:网络相关的包 java.util:java辅助类,特别是集合类 java.sql:数据库操作类 IO流 按照流的流向分…...
解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题
配置一下apache里面的配置文件:httpd.conf 和 httpd.vhosts.conf httpd.conf httpd-vhosts.conf 重启服务 展示: 浏览器中中文乱码问题:...
带有 Elasticsearch 和 Langchain 的 Agentic RAG
作者:来自 Elastic Han Xiang Choong 讨论并实现 Elastic RAG 的代理流程,其中 LLM 选择调用 Elastic KB。 更多阅读:Elasticsearch:基于 Langchain 的 Elasticsearch Agent 对文档的搜索。 简介 代理是将 LLM 应用于实际用例的…...
【数据结构与算法】深度优先搜索:树与图的路径探寻之道
一、引言 在计算机科学领域,树与图的路径搜索是一个基础且重要的问题,而深度优先搜索算法(Depth First Search,简称 DFS)则是解决此类问题的经典算法之一。深度优先搜索算法通过从起始节点开始,沿着一条路径…...
vue3项目结合Echarts实现甘特图(可拖拽、选中等操作)
效果图: 图一:选中操作 图二:上下左右拖拽操作 本案例在echarts示例机场航班甘特图的基础上修改 封装ganttEcharts组件,测试数据 airport-schedule.jsonganttEcharts代码: 直接复制粘贴可测…...
【EXCEL 逻辑函数】AND、OR、XOR、NOT、IF、IFS、IFERROR、IFNA、SWITCH
目录 AND:当所有条件都为真时返回 TRUE,否则返回 FALSE OR:当任一条件为真时返回 TRUE,否则返回 FALSE XOR:当奇数个条件为真时返回 TRUE,否则返回 FALSE NOT :反转逻辑值 IF:根…...
单片机长耗时前后台任务优化
代码: void Task_10ms(void) {... }//改 void Task_2ms(void) {static uint8_t s_state 0switch(s_state){case 0:....s_state 1;break;case 1:....s_state 2;break;case 3:....s_state 1;break;default: //此段可以去除s_state 0;break; } } 参考链接 MCU长…...
java引入jedis并且关于开放redis端口问题
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 目录 1. 引入jedis 编辑 2. 关于java客户端开放redis端口问题 3. 连接redis服务器 redis服务器在官网公开了使用的协议: resp…...
测试电脑是否真实多核CPU
测试电脑是否真实多核CPU 在CPU的描述上现在多数看到的是多核心/多内核,看上去就像是多CPU的样子。但核心是有分真实核心和虚拟核心。如果是真实的多核心,多线程是能够并行。如果不是多核心,多线程就只能够并发。 这里就直接采用多线程的应用…...
Ubuntu 安装实时内核指南
在运行需要高精度和低延迟响应的机器人驱动程序时,安装一个具备实时内核(Real-Time Kernel)的 Ubuntu 系统是至关重要的。若缺乏实时系统的支持,高频率的控制指令可能会导致机器人运动轨迹不流畅,甚至产生抖动现象。以…...
LeetCode:1387. 将整数按权重排序(记忆化搜索 Java)
目录 1387. 将整数按权重排序 题目描述: 实现代码与解析: 记忆化搜索 原理思路: 1387. 将整数按权重排序 题目描述: 我们将整数 x 的 权重 定义为按照下述规则将 x 变成 1 所需要的步数: 如果 x 是偶数ÿ…...
某音最新滑块3.5.68(Web/App皆可支持)
某音滑块核心是 captchaBody 参数 难度较大 h5_sdk_version - 代表验证码的版本 如何代表通过验证了呢? 1.web端 fp参数 - verify_m4zafhzb_yARRD6RZ_YwNj_4gjp_AdsL_yxw0thiqv0ub 2.移动端 did参数 - 1997744780462444 当该接口返回如下数据即通过验证码 该设…...
FFmpeg 框架简介和文件解复用
文章目录 ffmpeg框架简介libavformat库libavcodec库libavdevice库 复用(muxers)和解复用(demuxers)容器格式FLVScript Tag Data结构(脚本类型、帧类型)Audio Tag Data结构(音频Tag)V…...
观察者模式(sigslot in C++)
大家,我是东风,今天抽点时间整理一下我很久前关注的一个不错的库,可以支持我们在使用标准C的时候使用信号槽机制进行观察者模式设计,sigslot 官网: http://sigslot.sourceforge.net/ 本文较为详尽探讨了一种观察者模…...
git企业开发的相关理论(二)
目录 git企业开发的相关理论(一) 八.修改文件 九.版本回退 十.撤销修改 情况一(还没有add) 情况二(add后还没有commit) 情况三(commit后还没有push) 十一.删除本地仓库中的文件 方法一 方法二 十二.理解分支 1.常见的分支工作流程 2.合并冲…...
力扣-图论-70【算法学习day.70】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…...