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

飞鼠异地组网工具实战之访问k8s集群内部服务

飞鼠异地组网工具实战之访问k8s集群内部服务

  • 一、飞鼠异地组网工具介绍
    • 1.1 飞鼠工具简介
    • 1.2 飞鼠工具官网
  • 二、本次实践介绍
    • 2.1 本次实践场景描述
    • 2.2 本次实践前提
    • 2.3 本次实践环境规划
  • 三、检查本地k8s集群环境
    • 3.1 检查k8s各节点状态
    • 3.2 检查k8s版本
    • 3.3 检查k8s系统pod状态
  • 四、本地部署wordpress服务
    • 4.1 创建部署目录
    • 4.2 创建密码文件
    • 4.3 创建命名空间
    • 4.4 创建secret资源对象
    • 4.5 查看secret资源对象状态
    • 4.6 编辑wordpress.yaml文件
    • 4.7 部署wordpress服务
    • 4.8 检查pod状态
    • 4.9 查看service状态
  • 五、本地访问wordpres服务
    • 5.1 wordpres初始化配置
    • 5.2 设置站点信息
    • 5.3 初始化完成
    • 5.4 访问wordpress前台首页
  • 六、飞鼠中心控制器节点后台设置工作
    • 6.1 创建区域
    • 6.2 添加用户
    • 6.3 下载客户端配置文件
  • 七、外部客户端安装wireguard
    • 7.1 登录外部客户端
    • 7.2 下载wireguard软件
    • 7.3 运行wireguard
    • 7.4 导入配置文件
    • 7.5 连接隧道
    • 7.6 查看VPN连接状态
  • 八、外部客户端访问wordpress相关服务
    • 8.1 外部客户端访问VPC内网IP
    • 8.2 远程连接中心控制器节点服务器
    • 8.3 访问k8s的wordpress的数据库服务
    • 8.4 访问wordpress网站服务

一、飞鼠异地组网工具介绍

1.1 飞鼠工具简介

飞鼠异地组网工具是一款能够突破地域限制、实现高效异地组网的强大工具。它采用标准的OSPF路由协议,具备跨平台兼容性,可以应对大批量数据中心之间的异地组网需求。

1.2 飞鼠工具官网

飞鼠官方网站:https://www.feishuwg.com/

在这里插入图片描述

二、本次实践介绍

2.1 本次实践场景描述

1.本次实践的两个局域网为本地局域网和阿里云VPC专有网络;
2.其中阿里云服务器为中心控制器节点服务器,本地局域网部署子网节点服务器;
3.本地局域网部署k8s单master集群环境,k8s部署wordpress服务;
4.在华为云开通一台ECS弹性云服务器模拟外部外部出差员工,可以访问内网的wordpress网站服务及访问wordpress数据库。

2.2 本次实践前提

  1. 本次实践前提为已经搭建好飞鼠异地组网的初步环境。
  • 参考博文:飞鼠异地组网工具基本使用教程
  1. 本地局域网环境已经提前部署好k8s单master集群环境。
  2. 需要提前在华为云或其他云厂商购买一台云服务器模拟外部客户端。

2.3 本次实践环境规划

  • 本次实践环境
hostnameIP地址操作系统版本服务器类别角色备注
cloud内网IP:172.22.48.72、公网IP:120.79.233.45ubuntu22.04阿里云服务器中心控制器(master)阿里云VPC专有网络:172.22.48.0/24
jeven192.168.3.246ubuntu22.04本地服务器子网节点本地局域网:192.168.3.0/24
mywin10192.168.3.168win10——本地客户端192.168.3.0/24
ecs-e238192.168.0.168Windows Server2012 R2——外部客户端华为云VPC虚拟私有云:192.168.0.0/24
  • 本地局域网k8s环境
hostnameIP地址操作系统版本k8s版本角色
k8s-master192.168.3.201centos7.6v1.27.4master节点
k8s-node01192.168.3.202centos7.6v1.27.4worker节点
k8s-node02192.168.3.203centos7.6v1.27.4worker节点

三、检查本地k8s集群环境

3.1 检查k8s各节点状态

检查k8s各节点状态,确保k8s集群各节点状态正常。

[root@k8s-master ~]# kubectl get nodes
NAME         STATUS   ROLES           AGE    VERSION
k8s-master   Ready    control-plane   108d   v1.27.4
k8s-node01   Ready    <none>          108d   v1.27.4
k8s-node02   Ready    <none>          108d   v1.27.4

3.2 检查k8s版本

查看k8s的版本,注意部署应用时兼容的k8s版本。

[root@k8s-master ~]# kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.27.4
Kustomize Version: v5.0.1
Server Version: v1.27.4

3.3 检查k8s系统pod状态

检查k8s集群的系统pod状态,确保所有系统pod运行正常。

[root@k8s-master ~]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS       AGE
calico-kube-controllers-85578c44bf-rgxkx   1/1     Running   5 (14m ago)    5d23h
calico-node-8tts7                          1/1     Running   10 (14m ago)   108d
calico-node-fx8mv                          1/1     Running   10 (14m ago)   108d
calico-node-n8rt4                          1/1     Running   11 (14m ago)   108d
coredns-7bdc4cb885-88qng                   1/1     Running   3 (14m ago)    5d23h
coredns-7bdc4cb885-brdhk                   1/1     Running   3 (14m ago)    5d23h
etcd-k8s-master                            1/1     Running   11 (14m ago)   108d
kube-apiserver-k8s-master                  1/1     Running   11 (14m ago)   108d
kube-controller-manager-k8s-master         1/1     Running   15 (14m ago)   108d
kube-proxy-6vvw5                           1/1     Running   10 (14m ago)   108d
kube-proxy-867jg                           1/1     Running   10 (14m ago)   108d
kube-proxy-lgsc8                           1/1     Running   10 (14m ago)   108d
kube-scheduler-k8s-master                  1/1     Running   14 (14m ago)   108d

四、本地部署wordpress服务

4.1 创建部署目录

创建wordpress应用的目录,使用以下命令创建 /data/wordpress 。

mkdir -p /data/wordpress  &&  cd /data/wordpress

4.2 创建密码文件

使用以下命令,创建存放账号和密码的mysql_pw.txt文件。

cat << EOF > mysql_pw.txt
username=wordpress
password=wordpress
EOF

4.3 创建命名空间

创建命名空间wordpress

kubectl create namespace wordpress

4.4 创建secret资源对象

创建secret资源对象mysecret

kubectl --namespace=wordpress  create secret generic mysecret --from-env-file=./mysql_pw.txt

4.5 查看secret资源对象状态

查看secret资源对象mysecret当前状态

[root@k8s-master wordpress]#  kubectl get secrets -n wordpress
NAME       TYPE     DATA   AGE
mysecret   Opaque   2      14s

4.6 编辑wordpress.yaml文件

编辑wordpress.yaml部署文件,内容如下:


---apiVersion: v1
kind: Service
metadata:name: wordpressnamespace: wordpresslabels:app: wordpress
spec:ports:- protocol: TCPtargetPort: 80port: 80nodePort: 30020selector:app: wordpresstype: NodePort---apiVersion: apps/v1
kind: Deployment
metadata:name: wordpressnamespace: wordpresslabels:app: wordpress
spec:replicas: 2selector:matchLabels:app: wordpresstemplate:metadata:labels:app: wordpressspec:containers:- name: wordpressimage: wordpressports:- containerPort: 80env:- name: WORDPRESS_DB_HOSTvalue: 10.96.0.100- name: WORDPRESS_DB_USERvalue: wordpress- name:  WORDPRESS_DB_PASSWORDvalueFrom:      secretKeyRef:name: mysecretkey: passwordvolumeMounts:- mountPath: "/var/www/html"name: wordpress-datavolumes:- name: wordpress-datahostPath:path: /data/wordpress/data         ---apiVersion: v1
kind: Service
metadata:name: wordpress-mysqlnamespace: wordpresslabels:app: wordpress
spec:ports:- port: 3306type: ClusterIPclusterIP: 10.96.0.100selector:app: wordpresstier: mysql---apiVersion: apps/v1
kind: StatefulSet
metadata:name: wordpress-mysqlnamespace: wordpresslabels:app: wordpress
spec:replicas: 1selector:matchLabels:app: wordpresstier: mysqlserviceName: "wordpress-mysql"template:metadata:labels:app: wordpresstier: mysqlspec:nodeSelector:kubernetes.io/hostname: k8s-node01containers:- name: mysqlimage: mysql:5.7env:- name: MYSQL_ROOT_PASSWORDvalueFrom:secretKeyRef:name: mysecretkey: password- name: MYSQL_DATABASEvalue: wordpress- name: MYSQL_USERvalueFrom:      secretKeyRef:name: mysecretkey: username- name: MYSQL_PASSWORDvalueFrom:secretKeyRef:name: mysecretkey: passwordports:- containerPort: 3306name: mysqlvolumeMounts:- mountPath: /var/lib/mysqlname: mysql-storagevolumes:- name: mysql-storagehostPath:path: /var/lib/mysql

4.7 部署wordpress服务

执行wordpress.yaml文件,开始部署wordpress应用。

[root@k8s-master wordpress]# kubectl apply -f wordpress.yaml
service/wordpress created
deployment.apps/wordpress created
service/wordpress-mysql created
statefulset.apps/wordpress-mysql created

4.8 检查pod状态

在wordpress命名空间下,查看wordpress服务的pod状态,确保所有pod都正常启动。

[root@k8s-master wordpress]# kubectl get pods -n wordpress
NAME                         READY   STATUS    RESTARTS   AGE
wordpress-7c68d9b7b6-g64s5   1/1     Running   0          2m12s
wordpress-7c68d9b7b6-zsgdg   1/1     Running   0          2m12s
wordpress-mysql-0            1/1     Running   0          2m12s

4.9 查看service状态

在wordpress命名空间下,查看wordpress服务的service状态,可以看到对外映射的访问端口为30020。

[root@k8s-master wordpress]# kubectl get service -n wordpress
NAME              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
wordpress         NodePort    10.110.180.202   <none>        80:30020/TCP   3m14s
wordpress-mysql   ClusterIP   10.96.0.100      <none>        3306/TCP       3m14s

五、本地访问wordpres服务

5.1 wordpres初始化配置

访问地址:http://192.168.3.202:30020/,将IP替换为自己工作节点IP地址,进入 wordpres初始化配置界面,设置系统语言为简体中文。

在这里插入图片描述

5.2 设置站点信息

设置站点名称、用户名、密码、邮箱等信息,自定义设置即可。

在这里插入图片描述

5.3 初始化完成

初始化完成后,点击“登录”。

在这里插入图片描述

输入刚才设置的用户名和密码,进入wordpress后台管理页面。

在这里插入图片描述
在这里插入图片描述

5.4 访问wordpress前台首页

访问地址:http://192.168.3.202:30020/,将IP替换为自己服务器IP地址,进入wordpress前台首页。

在这里插入图片描述

六、飞鼠中心控制器节点后台设置工作

6.1 创建区域

在中心控制器节点的管理后台,区域管理——创建区域。
名字:自定义,这里填写my-k8s;
网络协议:FS-NAT,无限制访问;
选择端口:50030;
对外网络地址:选择公网IP地址,这里是中心控制器节点所在的公网IP地址;
网卡名称:选择本地网卡eth0;
允许网络:192.168.0.0/24,192.168.3.0/24,172.22.48.0/24,填写需要连接的局域网网络。
其余默认即可,选择“创建”。

在这里插入图片描述

6.2 添加用户

区域管理——新建的区域(my-k8s)——客户端管理,选择“添加用户”。

在这里插入图片描述

用户名:jeven;
Email地址:jeven@qq.com;
客户端IP:默认10.5.0.2/32;
保存即可。

在这里插入图片描述

6.3 下载客户端配置文件

点击下载,下载jeven.conf配置文件。

在这里插入图片描述

七、外部客户端安装wireguard

7.1 登录外部客户端

提前准备好一台华为云服务器或者其他云服务器,操作系统为windows即可,这里使用的是Windows Server2012 R2版本,使用远程桌面连接云服务器。

在这里插入图片描述

7.2 下载wireguard软件

下载地址:https://github.com/xingkongwangbin/feishuwg/releases/tag/1.0,打开下载地址,下载wireguard软件。

在这里插入图片描述

7.3 运行wireguard

将下载的wireguard安装包,在外部客户端直接运行即可。

在这里插入图片描述

7.4 导入配置文件

将之前下载的jeven.conf配置文件,导入到wireguard中。

在这里插入图片描述
在这里插入图片描述

7.5 连接隧道

在wireguard中,点击连接,可以看到处于已连接状态。

在这里插入图片描述

在这里插入图片描述

7.6 查看VPN连接状态

在my-k8s区域中,状态查看页面,可以看到VPN连接状态显示小绿灯,表示连接处于正常状态。

在这里插入图片描述

八、外部客户端访问wordpress相关服务

8.1 外部客户端访问VPC内网IP

外部客户端访问中心控制器节点的内网IP地址172.22.48.72,可以正常ping通。

在这里插入图片描述

8.2 远程连接中心控制器节点服务器

外部客户端远程连接中心控制器节点服务器

ssh  root@172.22.48.72

在这里插入图片描述

8.3 访问k8s的wordpress的数据库服务

在master节点,远程访问子网节点服务器。如果k8s部署在中心控制器节点内网环境,则可以直接访问k8s映射的服务,无需在跳转到子网节点进行跳转连接。

ssh root@192.168.3.246

在这里插入图片描述

ssh远程连接k8s-master节点

ssh  root@192.168.3.201

在这里插入图片描述

查看k8s的wordpress的数据库服务地址

[root@k8s-master ~]# kubectl get service -n wordpress
NAME              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
wordpress         NodePort    10.110.180.202   <none>        80:30020/TCP   14h
wordpress-mysql   ClusterIP   10.96.0.100      <none>        3306/TCP       14h

在这里插入图片描述

访问k8s的wordpress的数据库服务

kubectl exec -it -n wordpress wordpress-mysql-0 -- /bin/bash

在这里插入图片描述

查询wordpress数据表

mysql> use wordpress;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)mysql>

在这里插入图片描述

8.4 访问wordpress网站服务

在外部客户端,通过以上方法连接到子网节点服务器后,可以直接links访问wordpress服务:http://192.168.3.202:30020,也可以自行安装火狐进行浏览器访问。

links http://192.168.3.202:30020

在这里插入图片描述

相关文章:

飞鼠异地组网工具实战之访问k8s集群内部服务

飞鼠异地组网工具实战之访问k8s集群内部服务 一、飞鼠异地组网工具介绍1.1 飞鼠工具简介1.2 飞鼠工具官网 二、本次实践介绍2.1 本次实践场景描述2.2 本次实践前提2.3 本次实践环境规划 三、检查本地k8s集群环境3.1 检查k8s各节点状态3.2 检查k8s版本3.3 检查k8s系统pod状态 四…...

【Flink】窗口(Window)

窗口理解 窗口&#xff08;Window&#xff09;是处理无界流的关键所在。窗口可以将数据流装入大小有限的“桶”中&#xff0c;再对每个“桶”加以处理。 本文的重心将放在 Flink 如何进行窗口操作以及开发者如何尽可能地利用 Flink 所提供的功能。 对窗口的正确理解&#xff…...

读像火箭科学家一样思考笔记03_第一性原理(上)

1. 思维的两种障碍 1.1. 为什么知识会成为一种缺陷而非一种美德 1.1.1. 知识是一种美德 1.1.2. 知识同样的特质也会把它变成一种缺点 1.1.3. 知识确实是个好东西&#xff0c;但知识的作用应该是给人们提供信息&#xff0c;而不是起约束作用 1.1.4. 知识应该启发智慧&#…...

npm私有云

安装node时npm会自动安装&#xff0c;npm也可以单独安装。 package.json 在使用npm时&#xff0c;package.json文件是非常重要的&#xff0c;因为它包含了关于项目的必要信息&#xff0c;比如名称、版本、依赖项等。在初始化新项目时&#xff0c;通常会使用npm init命令生成一…...

莹莹API管理系统源码附带两套模板

这是一个API后台管理系统的源码&#xff0c;可以自定义添加接口&#xff0c;并自带两个模板。 环境要求 PHP版本要求高于5.6且低于8.0&#xff0c;已测试通过的版本为7.4。 需要安装PHPSG11加密扩展。 已测试&#xff1a;宝塔/主机亲测成功搭建&#xff01; 安装说明 &am…...

【Kingbase FlySync】命令模式:安装部署同步软件,实现KES到KES实现同步

【Kingbase FlySync】命令模式:安装部署同步软件&#xff0c;实现KES到KES实现同步迁移 概述准备环境目标资源1.测试虚拟机下载地址包含node1,node22.同步工具下载地址3.临时授权下载地址4.ruby工具下载地址5.EXAMv0.11.sql下载地址 实操&#xff1a;同步软件安装部署1.node1准…...

python使用selenium webDriver时 报错

可能原因和解决&#xff1a; 1. python 解释器 ----> 设置 2. 浏览器版本 与 浏览器驱动版本不一致 ----> 安装同一版本的 (下载chromedriver | 谷歌驱动更高版本的测试版) 参考&#xff1a;Python使用Selenium WebDriver的入门介绍及安装教程-CSDN博客 Selenium安…...

【ROS2机器人入门到实战】

ROS2机器人入门到实战教程(鱼香ROS) 写在前面 当前平台文章汇总地址&#xff1a;ROS2机器人从入门到实战获取完整教程及配套资料代码&#xff0c;请关注公众号<鱼香ROS>获取教程配套机器人开发平台&#xff1a;两驱版| 四驱版为方便交流&#xff0c;搭建了机器人技术问…...

Nuxt3框架局部文件引用外部JS/CSS文件的相关配置方法

引入外部JS&#xff1a; <script setup>useHead({script: [ {type: "text/javascript",src: https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js}]}) </script>useHead只能与组件的setup和生命周期钩子一起使用 如果需要将js放置body区…...

Docker 可视化面板 ——Portainer

Portainer 是一个非常好用的 Docker 可视化面板&#xff0c;可以让你轻松地管理你的 Docker 容器。 官网&#xff1a;Portainer: Container Management Software for Kubernetes and Docker 【Docker系列】超级好用的Docker可视化工具——Portainer_哔哩哔哩_bilibili 环境 …...

Java 教育局民办教育信息服务与监管平台

1) 项目背景 按照《中华人民共和国民办教育促进法》和《中华人民共和国政府信息公开条例》的相关规定&#xff0c;为满足学生和家长、社会各界获取权威信息的需求&#xff0c;着力解决服务老百姓最后一公里问题&#xff0c;达到宣传民办教育和引导家长择校的效果&#xff0…...

小迪笔记(1)——操作系统文件下载反弹SHELL防火墙绕过

名词解释 POC&#xff1a;验证漏洞存在的代码&#xff1b; EXP&#xff1a;利用漏洞的代码&#xff1b; payload&#xff1a;漏洞利用载荷&#xff0c; shellcode&#xff1a;漏洞代码&#xff0c; webshell&#xff1a;特指网站后门&#xff1b; 木马&#xff1a;强调控制…...

Pytorch D2L Subplots方法对画图、图片处理

问题代码 def show_images(imgs, num_rows, num_cols, titlesNone, scale1.5): #save """绘制图像列表""" figsize (num_cols * scale, num_rows * scale) _, axes d2l.plt.subplots(num_rows, num_cols, figsizefigsize) axes axes.flatten…...

MATLAB算法实战应用案例精讲-【目标检测】YOLOV5(补充篇)

目录 算法原理 YOLOv5数据集训练 软硬件背景: 数据集准备 配置文件 模型训练...

WPF中可视化树和逻辑树的区别是什么

在WPF中&#xff0c;用户界面元素被组织成树形结构。这种结构主要分为两种&#xff1a;逻辑树&#xff08;Logical Tree&#xff09;和可视化树&#xff08;Visual Tree&#xff09;。它们在设计上各有特点和用途。 逻辑树&#xff08;Logical Tree&#xff09; 逻辑树是WPF中…...

小迪安全笔记(2)——web应用架构搭建漏洞HTTP数据包代理服务器

Web应用环境架构类 开发语言&#xff1a;php、java、python、ASP、ASPX等程序源码&#xff1a;用的人多了&#xff0c;就成CMS了。中间件容器&#xff1a;IIS、Apache、Nginx、Tomcat、Weblogic、Jboos、glasshfish等数据库类型&#xff1a;Access、Mysql、Mssql、Oracle、Redi…...

[AI]ChatGPT4 与 ChatGPT3.5 区别有多大

ChatGPT 3.5 注册已经不需要手机了&#xff0c;直接邮箱认证就可以&#xff0c;这可真算是好消息&#xff0c;坏消息是 ChatGPT 4 还是要收费。 那么 GPT-3.5 与 GPT-4 区别有多大呢&#xff0c;下面简单测试一下。 以从 TDengine 订阅数据为例&#xff0c;TDengine 算是不太小…...

node实战——koa实现文件上传

文章目录 ⭐前言⭐koa实现文件上传⭐foxapi测试⭐总结⭐结束⭐前言 大家好,我是yma16,本文分享关于node实战——node实战——koa实现文件上传。 本文适用对象:前端初学者转node方向,在校大学生,即将毕业的同学,计算机爱好者。 node系列往期文章 node_windows环境变量配置…...

C++中的this指针

C中的this指针 this 实际上是成员函数的一个形参&#xff0c;在调用成员函数时将对象的地址作为实参传递给 this。不过 this 这个形参是隐式的&#xff0c;它并不出现在代码中&#xff0c;而是在编译阶段由编译器默默地将它添加到参数列表中。 this指针是类的指针&#xff0c…...

分析日志的一般套路

日志文件很多怎么快速查看&#xff1f; 整机日志一般会有统一的文件名命名规则&#xff08;如包含时间点&#xff09;&#xff0c;可以根据问题现象时间点大致定位到相应的文件根据日志文件的修改时间属性&#xff0c;定位到相应的文件根据时间点全文件夹搜索内容&#xff0c;…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...