(二十一)、Docker 部署 Minikube 使用可视化管理工具 Kuboard
文章目录
- 1、介绍
- docker 运行 minikube 集群节点(kube-apiserver )无法被直接访问的问题
- Kuboard 需要访问到 k8s 集群的kube-apiserver
- 2、安装 Kuboard
- 2.1、k8s 集群节点可以被外部直接访问的情况
- 2.1.1、下载镜像
- 2.1.2、运行 deployment.yml
- 2.1.3、访问 Kuboard
- 2.2、k8s 集群节点无法被外部直接访问的情况
- 2.2.1.、细节
- 2.2.2、 修改完后的文档
- 2.2.3、 执行 yaml,部署 Kuboard 的Pod和NodePort
- 2.2.4、确定Pod运行状态
- 2.2.5、访问 Kuboard
- 3、Kuboard 添加集群
- 4、Kuboard 查看k8s 集群内容
- 5、体验自动/手动伸缩功能
1、介绍
访问 Kuboard 官网
docker 运行 minikube 集群节点(kube-apiserver )无法被直接访问的问题
对于本系列,系统环境是 mac(OS 14.3.1) ,此版本的OS 系统暂不支持以 Virtual Box 方式运行 minikube 。
使用 docker 部署 minikube 会有一个问题,就是minikube 的内部地址没有办法直接被宿主机访问。
对于docker 运行 minikube ,在k8s 中部署的服务,可以通过 NodePort 方式暴露服务,然后通过隧道端口被宿主机直接访问。
但是对于集群节点,这种方式行不通,即无法为表示集群节点的 kube-apiserver 提供一个可以直接被宿主机访问的端口映射。
Kuboard 需要访问到 k8s 集群的kube-apiserver
Kuboard 通过代理地址和 k8s 集群进行交互,如果 k8s 服务不可访达,那么交互就无从谈起。
2、安装 Kuboard
2.1、k8s 集群节点可以被外部直接访问的情况
比如使用 Virtual Box 安装minikube 的模式,或者 docket dasktop 自带 k8s 的模式。
直接使用 docker 安装 Kuboard 即可。
这里使用 本机 Docker 安装独立的 Kuboard V3 版本

2.1.1、下载镜像
docker pull swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3
2.1.2、运行 deployment.yml
这里具体采取的配置为 8081 为宿主机访问Kuboard的端口,30081 为Kuboard访问 k8s 集群的代理端口
192.168.58.2 为
docker volume create kuboard-data
docker run -d \--restart=unless-stopped \--name=kuboard \-p 80:80/tcp \-p 10081:10081/tcp \-e KUBOARD_ENDPOINT="https://192.168.58.2:8443" \-e KUBOARD_AGENT_SERVER_TCP_PORT=30081 \-v kuboard-data:/data/kuboard \swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3
2.1.3、访问 Kuboard
http://127.0.0.1:8081/
默认登陆名和密码是
admin/Kuboard123
2.2、k8s 集群节点无法被外部直接访问的情况
比如本系列中,使用 docker 部署 minikube ,此时k8s 集群节点无法被外部直接访问,我们直接在 K8s 内部署 Kuboard,利用k8s 集群内可以自由通信的特性,再把 Kuboard 以NodePort 的形式暴露出来。
2.2.1.、细节
- 确认 node 节点ip
192.168.49.2
➜ ~ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
minikube Ready control-plane 25m v1.31.0 192.168.49.2 <none> Ubuntu 22.04.4 LTS 5.15.49-linuxkit docker://27.2.0
- 确认 storageclass,比如下面查询到叫 standard
standard
➜ ~ kubectl get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard (default) k8s.io/minikube-hostpath Delete Immediate false 21m
- 下载 kuboard-v3.yaml,对其中的内容进行修改
官方链接
第一把 KUBOARD_ENDPOINT: ‘http://your-node-ip-address:30080’ 中 your-node-ip-address 修改为 kubectl get nodes -o wide 查询获得的ip (我这里是 192.168.49.2 )
第二是把 storageClassName: please-provide-a-valid-StorageClass-name-here 中please-provide-a-valid-StorageClass-name-here修改为 kubectl get storageclass 查询得到的name (我这里是 standard)
第三,对 PVC 部分修改为下面内容-增加了一行 storageClassName: standard
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: kuboard-data-pvc
namespace: kuboard
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi # 根据需要调整大小
storageClassName: standard # 确保与您的 PV 的存储类匹配
2.2.2、 修改完后的文档
---
apiVersion: v1
kind: Namespace
metadata:name: kuboard---
apiVersion: v1
kind: ConfigMap
metadata:name: kuboard-v3-confignamespace: kuboard
data:# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-built-in.html# [common]KUBOARD_ENDPOINT: 'http://192.168.49.2:30080'KUBOARD_AGENT_SERVER_UDP_PORT: '30081'KUBOARD_AGENT_SERVER_TCP_PORT: '30081'KUBOARD_SERVER_LOGRUS_LEVEL: info # error / debug / trace# KUBOARD_AGENT_KEY 是 Agent 与 Kuboard 通信时的密钥,请修改为一个任意的包含字母、数字的32位字符串,此密钥变更后,需要删除 Kuboard Agent 重新导入。KUBOARD_AGENT_KEY: 32b7d6572c6255211b4eec9009e4a816 # 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-gitlab.html# [gitlab login]# KUBOARD_LOGIN_TYPE: "gitlab"# KUBOARD_ROOT_USER: "your-user-name-in-gitlab"# GITLAB_BASE_URL: "http://gitlab.mycompany.com"# GITLAB_APPLICATION_ID: "7c10882aa46810a0402d17c66103894ac5e43d6130b81c17f7f2d8ae182040b5"# GITLAB_CLIENT_SECRET: "77c149bd3a4b6870bffa1a1afaf37cba28a1817f4cf518699065f5a8fe958889"# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-github.html# [github login]# KUBOARD_LOGIN_TYPE: "github"# KUBOARD_ROOT_USER: "your-user-name-in-github"# GITHUB_CLIENT_ID: "17577d45e4de7dad88e0"# GITHUB_CLIENT_SECRET: "ff738553a8c7e9ad39569c8d02c1d85ec19115a7"# 关于如下参数的解释,请参考文档 https://kuboard.cn/install/v3/install-ldap.html# [ldap login]# KUBOARD_LOGIN_TYPE: "ldap"# KUBOARD_ROOT_USER: "your-user-name-in-ldap"# LDAP_HOST: "ldap-ip-address:389"# LDAP_BIND_DN: "cn=admin,dc=example,dc=org"# LDAP_BIND_PASSWORD: "admin"# LDAP_BASE_DN: "dc=example,dc=org"# LDAP_FILTER: "(objectClass=posixAccount)"# LDAP_ID_ATTRIBUTE: "uid"# LDAP_USER_NAME_ATTRIBUTE: "uid"# LDAP_EMAIL_ATTRIBUTE: "mail"# LDAP_DISPLAY_NAME_ATTRIBUTE: "cn"# LDAP_GROUP_SEARCH_BASE_DN: "dc=example,dc=org"# LDAP_GROUP_SEARCH_FILTER: "(objectClass=posixGroup)"# LDAP_USER_MACHER_USER_ATTRIBUTE: "gidNumber"# LDAP_USER_MACHER_GROUP_ATTRIBUTE: "gidNumber"# LDAP_GROUP_NAME_ATTRIBUTE: "cn"---
apiVersion: apps/v1
kind: StatefulSet
metadata:name: kuboard-etcdnamespace: kuboardlabels:app: kuboard-etcd
spec:serviceName: kuboard-etcdreplicas: 3selector:matchLabels:app: kuboard-etcdtemplate:metadata:name: kuboard-etcdlabels:app: kuboard-etcdspec:containers:- name: kuboard-etcdimage: swr.cn-east-2.myhuaweicloud.com/kuboard/etcd:v3.4.14ports:- containerPort: 2379name: client- containerPort: 2380name: peerenv:- name: KUBOARD_ETCD_ENDPOINTSvalue: >-kuboard-etcd-0.kuboard-etcd:2379,kuboard-etcd-1.kuboard-etcd:2379,kuboard-etcd-2.kuboard-etcd:2379volumeMounts:- name: datamountPath: /datacommand:- /bin/sh- -c- |PEERS="kuboard-etcd-0=http://kuboard-etcd-0.kuboard-etcd:2380,kuboard-etcd-1=http://kuboard-etcd-1.kuboard-etcd:2380,kuboard-etcd-2=http://kuboard-etcd-2.kuboard-etcd:2380"exec etcd --name ${HOSTNAME} \--listen-peer-urls http://0.0.0.0:2380 \--listen-client-urls http://0.0.0.0:2379 \--advertise-client-urls http://${HOSTNAME}.kuboard-etcd:2379 \--initial-advertise-peer-urls http://${HOSTNAME}:2380 \--initial-cluster-token kuboard-etcd-cluster-1 \--initial-cluster ${PEERS} \--initial-cluster-state new \--data-dir /data/kuboard.etcdvolumeClaimTemplates:- metadata:name: dataspec:# 请填写一个有效的 StorageClass namestorageClassName: standardaccessModes: [ "ReadWriteMany" ]resources:requests:storage: 5Gi---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: kuboard-data-pvcnamespace: kuboard
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10Gi # 根据需要调整大小storageClassName: standard # 确保与您的 PV 的存储类匹配---
apiVersion: v1
kind: Service
metadata:name: kuboard-etcdnamespace: kuboard
spec:type: ClusterIPports:- port: 2379name: client- port: 2380name: peerselector:app: kuboard-etcd---
apiVersion: apps/v1
kind: Deployment
metadata:annotations:deployment.kubernetes.io/revision: '9'k8s.kuboard.cn/ingress: 'false'k8s.kuboard.cn/service: NodePortk8s.kuboard.cn/workload: kuboard-v3labels:k8s.kuboard.cn/name: kuboard-v3name: kuboard-v3namespace: kuboard
spec:replicas: 1selector:matchLabels:k8s.kuboard.cn/name: kuboard-v3template:metadata:labels:k8s.kuboard.cn/name: kuboard-v3spec:containers:- env:- name: KUBOARD_ETCD_ENDPOINTSvalue: >-kuboard-etcd-0.kuboard-etcd:2379,kuboard-etcd-1.kuboard-etcd:2379,kuboard-etcd-2.kuboard-etcd:2379envFrom:- configMapRef:name: kuboard-v3-configimage: 'swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3'imagePullPolicy: Alwaysname: kuboardvolumeMounts:- mountPath: "/data"name: kuboard-datavolumes:- name: kuboard-datapersistentVolumeClaim:claimName: kuboard-data-pvc---
apiVersion: v1
kind: Service
metadata:annotations:k8s.kuboard.cn/workload: kuboard-v3labels:k8s.kuboard.cn/name: kuboard-v3name: kuboard-v3namespace: kuboard
spec:ports:- name: webuinodePort: 30080port: 80protocol: TCPtargetPort: 80- name: agentservertcpnodePort: 30081port: 10081protocol: TCPtargetPort: 10081- name: agentserverudpnodePort: 30081port: 10081protocol: UDPtargetPort: 10081selector:k8s.kuboard.cn/name: kuboard-v3sessionAffinity: Nonetype: NodePort
2.2.3、 执行 yaml,部署 Kuboard 的Pod和NodePort
kubectl apply -f kuboard-v3.yaml
➜ kubectl apply -f kuboard-v3.yaml
正常会打印
namespace/kuboard created
configmap/kuboard-v3-config created
statefulset.apps/kuboard-etcd created
persistentvolumeclaim/kuboard-data-pvc created
service/kuboard-etcd created
deployment.apps/kuboard-v3 created
service/kuboard-v3 created
2.2.4、确定Pod运行状态
➜ ~ kubectl get pods -n kuboard
可能会遇到报错
NAME
kuboard-etcd-0 0/1 ImagePullBackOff 0 2m49s
kuboard-v3-69bd874899-pjj2m 0/1 ErrImagePull 0 2m35s
此时,把对应的Pod删除.会有自动充实机制
kubectl delete pod kuboard-etcd-0 -n kuboard
kubectl delete pod kuboard-v3-69bd874899-pjj2m -n kuboard
启动成功会展示
➜ ~ kubectl get pods -n kuboard
NAME READY STATUS RESTARTS AGE
kuboard-etcd-0 1/1 Running 2 (24s ago) 91s
kuboard-etcd-1 1/1 Running 2 (21s ago) 85s
kuboard-etcd-2 1/1 Running 2 (19s ago) 82s
kuboard-v3-69bd874899-zx5cj 1/1 Running 0 30s
2.2.5、访问 Kuboard
因为是在 docker 运行 minikube,访问 Kuboard 的NodePort 服务,需要构造一个隧道端口
参考 从宿主机访问 k8s(minikube) 发布的 redis 服务
特殊之处在于,Kuboard 需要在特定的命名空间中
- 查看命名空间
# 查看命名空间
➜ ~ kubectl get svc -n kuboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kuboard-etcd ClusterIP 10.97.148.215 <none> 2379/TCP,2380/TCP 30m
kuboard-v3 NodePort 10.104.126.78 <none> 80:30080/TCP,10081:30081/TCP,10081:30081/UDP 30m
- 为 kuboard-v3 提供隧道服务
minikube service kuboard-v3 -n kuboard
# 为 提供隧道服务
➜ ~ minikube service kuboard-v3 -n kuboard
W1024 01:11:56.611451 15452 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open /Users/wujie/.docker/contexts/meta/37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f/meta.json: no such file or directory
|-----------|------------|----------------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------------|----------------------|---------------------------|
| kuboard | kuboard-v3 | webui/80 | http://192.168.49.2:30080 |
| | | agentservertcp/10081 | http://192.168.49.2:30081 |
| | | agentserverudp/10081 | http://192.168.49.2:30081 |
|-----------|------------|----------------------|---------------------------|
🏃 为服务 kuboard-v3 启动隧道。
|-----------|------------|-------------|------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------------|-------------|------------------------|
| kuboard | kuboard-v3 | | http://127.0.0.1:57428 |
| | | | http://127.0.0.1:57429 |
| | | | http://127.0.0.1:57430 |
|-----------|------------|-------------|------------------------|
[kuboard kuboard-v3 http://127.0.0.1:57428
http://127.0.0.1:57429
http://127.0.0.1:57430]
❗ 因为你正在使用 darwin 上的 Docker 驱动程序,所以需要打开终端才能运行它。
访问 http://127.0.0.1:57428
http://127.0.0.1:57429
http://127.0.0.1:57430 任意一个

默认用户名和密码是
admin/Kuboard123

3、Kuboard 添加集群
这里就以 Docker 运行 minikube,然后在 k8s 中部署 Kuboard 为例了
选择第一种方式,获取 token

ApiServer 地址 写 kubectl get nodes -o wide 获取的地址(我这里是 192.168.49.2),端口固定为 8443,需要以 https:// 开头
即 https://192.168.49.2:8443

4、Kuboard 查看k8s 集群内容
需要先选择访问集群的身份

5、体验自动/手动伸缩功能

相关文章:
(二十一)、Docker 部署 Minikube 使用可视化管理工具 Kuboard
文章目录 1、介绍docker 运行 minikube 集群节点(kube-apiserver )无法被直接访问的问题Kuboard 需要访问到 k8s 集群的kube-apiserver 2、安装 Kuboard2.1、k8s 集群节点可以被外部直接访问的情况2.1.1、下载镜像2.1.2、运行 deployment.yml2.1.3、访问…...
代码编辑组件
代码编辑组件 文章说明核心代码运行演示源码下载 文章说明 拖了很久,总算是自己写了一个简单的代码编辑组件,虽然还有不少的bug,真的很难写,在写的过程中感觉自己的前端技术根本不够用,好像总是方案不够好;…...
裴蜀定理与欧几里得算法——蓝桥杯真题中的应用
目录 裴蜀定理(Bzouts Theorem)1、定义2、推论3、欧几里得算法4、多个整数的裴蜀定理扩展 真题挑战解题思路代码实现与详细注释代码解析 裴蜀定理(Bzout’s Theorem) 1、定义 对于任意两个整数 a 和 b ,如果它们的最…...
冯诺依曼架构及CPU相关概念
一. 操作系统的概念 1. 概念 操作系统(Operating System). 首先, 所有的计算机都是由软件和硬件构成的. 而操作系统就是许许多多软件中的一种软件, 操作系统可以看作是由两部分组成: 操作系统内核系统级应用程序. 2. 作用 (1) 管理硬件设备, 调度和协调各个硬件之间的工作.…...
智能管线巡检系统:强化巡检质量,确保安全高效运维
线路巡检质量的监控是确保线路安全、稳定运行的重要环节。为了有效监控巡检质量,采用管线巡检系统是一种高效、科学的手段。以下是对如何通过管线巡检系统实现线路巡检质量监控的详细分析: 一、巡检速度监控 管线巡检系统能够实时监控巡检人员的巡检速度…...
React写关键字高亮的三个方案
1.js正则replaceAlldangerouslySetInnerHTML{{ __html: xxx }}危险属性 步骤最简单,但是是危险属性,不推荐使用,项目中实在没有头绪,可以使用它应急 通过useMemo计算得到新的状态值,赋值给dangerouslySetInnerHTML属性的__html 关键代码: const [state1, setState1] useSt…...
重塑在线软件开发新纪元:集成高效安全特性,深度解析与评估会员与促销管理系统的系统架构设计
案例 阅读以下关于软件架构设计与评估的叙述,回答问题1和问题2。 【题目】 某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管…...
多层感知机的从零实现与softmax的从零实现(真·0000零基础)
今天再读zh.d2l书(4.2. 多层感知机的从零开始实现 — 动手学深度学习 2.0.0 documentation), 看了关于多层感知机的从零实现与softmax的从零实现 目录 mlp从零实现, 点击“paddle”的代码 点击“torch”的代码 训练 参数解…...
【Rust练习】18.特征 Trait
练习题来自:https://practice-zh.course.rs/generics-traits/traits.html 1 // 完成两个 impl 语句块 // 不要修改 main 中的代码 trait Hello {fn say_hi(&self) -> String {String::from("hi")}fn say_something(&self) -> String; }str…...
【自动化测试之oracle数据库】MacOs如何安装oracle- client
操作系统为Mac OS,本地在pycharm上跑自动化脚本时,因为有操作oracle数据库的部分,所以需要安装oracle数据库的客户端,并install cx_oracle,本文主要介绍如何在macOS上完成安装,并在python自动化测试代码中配置…...
Spring MVC的MultipartFile
定义 MultipartFile接口是Spring MVC中用来处理上传文件的接口,它提供了访问上传文件内容、文件名称、文件大小等信息的方法。 源码: package org.springframework.web.multipart;import java.io.File; import java.io.IOException; import java.io.I…...
●Leetcode| 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和
242,该题目中数组范围比较短,可以数组使用并不会占太多的空间,利用数组的映射,查找到自己所需要的字符 class Solution { public:bool isAnagram(string s, string t) {int record[26] {0};for(int i0;i<s.size();i){record[s[i] - a];/…...
关于算法的时间复杂度和空间复杂度的分析
由于最近开始准备蓝桥杯(python组),开始对编程基础进行一些复习,当我发现蓝桥对大多数题目程序运行时间及大小有要求时,我知道我不得不考虑性能问题,而不是能跑就行🤓 写下这篇文章希望对其他同志有帮助吧 什么是算法…...
深入浅出 C++ STL:解锁高效编程的秘密武器
引言 C 标准模板库(STL)是现代 C 的核心部分之一,为开发者提供了丰富的预定义数据结构和算法,极大地提升了编程效率和代码的可读性。理解和掌握 STL 对于 C 开发者来说至关重要。以下是对 STL 的详细介绍,涵盖其基础知…...
2024年1024程序人生总结
2024-1024 0.大环境0.1.经济0.2.战争 1.我的程序人生1.1.游戏 2.节日祝福 0.大环境 今年的1024最大的感触就是没有节日氛围,往年公司还会准备节日礼物,今年没有,由此可见大环境有多么糟糕。 除此之外,就是到公司应聘的程序员越来…...
【p2p、分布式,区块链笔记 分布式容错算法】: 拜占庭将军问题+实用拜占庭容错算法PBFT
papercodehttps://pmg.csail.mit.edu/papers/osdi99.pdfhttps://github.com/luckydonald/pbft 其他相关实现:This is an implementation of the Pracltical Byzantine Fault Tolerance protocol using PythonAn implementation of the PBFT consensus algorithm us…...
鸿蒙NEXT开发-应用数据持久化之用户首选项(基于最新api12稳定版)
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...
人工智能_神经网络103_感知机_感知机工作原理_感知机具备学习能力_在学习过程中自我调整权重_优化效果_多元线性回归_逻辑回归---人工智能工作笔记0228
由于之前一直对神经网络不是特别清楚,尤其是对神经网络中的一些具体的概念,包括循环,神经网络卷积神经网络以及他们具体的作用,都是应用于什么方向不是特别清楚,所以现在我们来做教程来具体明确一下。 当然在机器学习之后还有深度学习,然后在深度学习中对各种神经网络的…...
WISE:重新思考大语言模型的终身模型编辑与知识记忆机制
论文地址:https://arxiv.org/abs/2405.14768https://arxiv.org/abs/2405.14768 1. 概述 随着世界知识的不断变化,大语言模型(LLMs)需要及时更新,纠正其生成的虚假信息或错误响应。这种持续的知识更新被称为终身模型编…...
网络安全证书介绍
网络安全领域有很多专业的证书,可以帮助你提升知识和技能,增强在这个行业中的竞争力。以下是一些常见的网络安全证书: 1. CompTIA Security 适合人群:初级安全专业人员证书内容:基础的网络安全概念和实践,…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...

