Helm部署kong+konga的路由管理系统
部署postgres服务
创建存储类
创建存储类对应的deployment
---
apiVersion: apps/v1
kind: Deployment
metadata:annotations: {}labels:app: eip-nfs-postgresql-storageclassname: eip-nfs-postgresql-storageclassnamespace: kube-systemresourceVersion: '26709116'
spec:progressDeadlineSeconds: 600replicas: 1revisionHistoryLimit: 10selector:matchLabels:app: eip-nfs-postgresql-storageclassstrategy:type: Recreatetemplate:metadata:creationTimestamp: nulllabels:app: eip-nfs-postgresql-storageclassspec:containers:- env:- name: PROVISIONER_NAMEvalue: nfs-postgresql-storageclass- name: NFS_SERVERvalue: 172.16.0.20- name: NFS_PATHvalue: /data/nfs/image: 'eipwork/nfs-subdir-external-provisioner:v4.0.2'imagePullPolicy: IfNotPresentname: nfs-client-provisionerresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilevolumeMounts:- mountPath: /persistentvolumesname: nfs-client-rootdnsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}serviceAccount: eip-nfs-client-provisionerserviceAccountName: eip-nfs-client-provisionerterminationGracePeriodSeconds: 30volumes:- name: nfs-client-rootpersistentVolumeClaim:claimName: nfs-pvc-postgresql-storageclass
创建存储类需要的yaml文件postgres-stoargaclass.yaml
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:annotations:k8s.kuboard.cn/storageNamespace: kongk8s.kuboard.cn/storageType: nfs_client_provisionername: postgresql-storageclassresourceVersion: '26709001'
parameters:archiveOnDelete: 'false'
provisioner: nfs-postgresql-storageclass
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
创建存储类
kubectl apply -f eip-nfs-postgresql-storageclass.yaml
kubectl apply -f postgres-stoargaclass.yaml
创建postgresql
root@iZj6c72dzbei17o2cuksmeZ:~/yaml# mkdir konga
root@iZj6c72dzbei17o2cuksmeZ:~/yaml# cd konga/
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" already exists with the same configuration, skipping
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "prometheus-community" chart repository
...Successfully got an update from the "bitnami" chart repository
Update Complete. ⎈Happy Helming!⎈
也可以下载好helm的chart
helm pull oci://registry-1.docker.io/bitnamicharts/postgresql --untar
Pulled: registry-1.docker.io/bitnamicharts/postgresql:16.6.6
Digest: sha256:a8a0fd5ecbec861cc8462a417a8804c182caa2ee1666abc1a0f8a7f9126c2e40
创建postgres数据库
指定登录数据库及所对应账号密码
指定刚刚创建的存储类所对应的硬盘大小
指定刚刚创建的存储类
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga/postgresql# helm install postgres bitnami/postgresql \--set auth.postgresPassword=kongaAa123456 \--set auth.database=konga \--namespace kong --create-namespace \--set primary.persistence.size=100Gi \--set primary.persistence.storageClass=postgresql-storageclassNAME: postgres
LAST DEPLOYED: Wed Apr 30 11:51:32 2025
NAMESPACE: kong
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: postgresql
CHART VERSION: 16.6.6
APP VERSION: 17.4.0Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/bitnami for more information.** Please be patient while the chart is being deployed **PostgreSQL can be accessed via port 5432 on the following DNS names from within your cluster:postgres-postgresql.kong.svc.cluster.local - Read/Write connectionTo get the password for "postgres" run:export POSTGRES_PASSWORD=$(kubectl get secret --namespace kong postgres-postgresql -o jsonpath="{.data.postgres-password}" | base64 -d)To connect to your database run the following command:kubectl run postgres-postgresql-client --rm --tty -i --restart='Never' --namespace kong --image docker.io/bitnami/postgresql:17.4.0-debian-12-r17 --env="PGPASSWORD=$POSTGRES_PASSWORD" \--command -- psql --host postgres-postgresql -U postgres -d konga -p 5432> NOTE: If you access the container using bash, make sure that you execute "/opt/bitnami/scripts/postgresql/entrypoint.sh /bin/bash" in order to avoid the error "psql: local user with ID 1001} does not exist"To connect to your database from outside the cluster execute the following commands:kubectl port-forward --namespace kong svc/postgres-postgresql 5432:5432 &PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -d konga -p 5432WARNING: The configured password will be ignored on new installation in case when previous PostgreSQL release was deleted through the helm command. In that case, old PVC will have an old password, and setting it through helm won't take effect. Deleting persistent volumes (PVs) will solve the issue.WARNING: There are "resources" sections in the chart not set. Using "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs:- primary.resources- readReplicas.resources
+info https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
查看创建好的deployment
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga/postgresql# helm list -n kong
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
postgres kong 1 2025-04-30 12:49:21.853152013 +0800 CST deployed postgresql-16.6.6 17.4.0
查看和删除创建过的deployment
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm list --namespace kong
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
postgres kong 1 2025-04-30 11:30:10.790353413 +0800 CST deployed postgresql-16.6.6 17.4.0
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm uninstall postgres --namespace kong
release "postgres" uninstalled
安装konga
root@iZj6c2vhsafoay7j7vyy89Z:~# cd konga/
root@iZj6c2vhsafoay7j7vyy89Z:~/konga# git clone https://github.com/dangtrinhnt/konga-helm-chart.git
Cloning into 'konga-helm-chart'...
remote: Enumerating objects: 25, done.
remote: Counting objects: 100% (25/25), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 25 (delta 4), reused 25 (delta 4), pack-reused 0 (from 0)
Receiving objects: 100% (25/25), 8.36 KiB | 8.36 MiB/s, done.
Resolving deltas: 100% (4/4), done.
root@iZj6c2vhsafoay7j7vyy89Z:~/konga# cd konga-helm-chart/
root@iZj6c2vhsafoay7j7vyy89Z:~/konga/konga-helm-chart# vim values.yaml
创建kong
pull下来helm 的chart内容
helm repo add kong https://charts.konghq.com
helm repo update
helm pull kong/kong --untar
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm repo add kong https://charts.konghq.com
"kong" has been added to your repositories
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "kong" chart repository
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm pull kong/kong --untar
我们自己定义一个value.yaml
ingressController:enabled: trueadmin:type: NodePorthttp:enabled: truetls:enabled: falseproxy:type: NodePorthttp:enabled: truetls:enabled: falseenv:database: "off"
指定我们自己创建的value.yaml创建kong
root@iZj6c72dzbei17o2cuksmeZ:~/yaml/konga/kong# helm install kong kong/kong -n kong --create-namespace -f values.yaml
NAME: kong
LAST DEPLOYED: Wed Apr 30 14:54:03 2025
NAMESPACE: kong
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
To connect to Kong, please execute the following commands:
HOST=$(kubectl get nodes --namespace kong -o jsonpath='{.items[0].status.addresses[0].address}')
PORT=$(kubectl get svc --namespace kong kong-kong-proxy -o jsonpath='{.spec.ports[0].nodePort}')
export PROXY_IP=${HOST}:${PORT}
curl $PROXY_IPOnce installed, please follow along the getting started guide to start using
Kong: https://docs.konghq.com/kubernetes-ingress-controller/latest/guides/getting-started/WARNING: Kong Manager will not be functional because the Admin API is not
enabled. Setting both .admin.enabled and .admin.http.enabled and/or
.admin.tls.enabled to true to enable the Admin API over HTTP/TLS.
⚠️ 启动后报错了
/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:426throw new Error("Unknown authenticationOk message type" + util.inspect(msg));^
Error: Unknown authenticationOk message typeMessage { name: 'authenticationOk', length: 23 }at Connection.parseR (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:426:9)at Connection.parseMessage (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:345:17)at Socket.<anonymous> (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)at Socket.emit (events.js:310:20)at Socket.EventEmitter.emit (domain.js:482:12)at addChunk (_stream_readable.js:286:12)at readableAddChunk (_stream_readable.js:268:9)at Socket.Readable.push (_stream_readable.js:209:10)at TCP.onStreamRead (internal/stream_base_commons.js:186:23)
解决办法
这个报错是因为 Konga 使用的 pg(PostgreSQL)库版本太老,无法与你当前使用的 PostgreSQL 服务器版本兼容。这个错误通常出现在:
我部署的 PostgreSQL 是 14 或以上版本(17.4.0-debian-12-r17);
而 pantsel/konga 镜像里的 sails-postgresql 和 pg 库是老版本,不支持新的认证协议(如 SCRAM-SHA-256)。
所以我就是通过降低postgres的办法
helm upgrade postgres bitnami/postgresql \--set auth.postgresPassword=kongaAa123456 \--set auth.database=konga \ --namespace kong --create-namespace \--set primary.persistence.size=100Gi \--set primary.persistence.storageClass=postgresql-storageclass \--set image.tag=11.20.0-debian-11-r4
⚠️ 之后又报另一个错
A hook (load-db) failed to load!
Error (E_UNKNOWN) :: Encountered an unexpected error
error: relation "public.konga_users" does not existat Connection.parseE (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)at Connection.parseMessage (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)at Socket.<anonymous> (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)at Socket.emit (events.js:310:20)at Socket.EventEmitter.emit (domain.js:482:12)at addChunk (_stream_readable.js:286:12)at readableAddChunk (_stream_readable.js:268:9)at Socket.Readable.push (_stream_readable.js:209:10)at TCP.onStreamRead (internal/stream_base_commons.js:186:23) {originalError: error: relation "public.konga_users" does not existat Connection.parseE (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)at Connection.parseMessage (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)at Socket.<anonymous> (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)at Socket.emit (events.js:310:20)at Socket.EventEmitter.emit (domain.js:482:12)at addChunk (_stream_readable.js:286:12)at readableAddChunk (_stream_readable.js:268:9)at Socket.Readable.push (_stream_readable.js:209:10)at TCP.onStreamRead (internal/stream_base_commons.js:186:23) {length: 118,severity: 'ERROR',code: '42P01',detail: undefined,hint: undefined,position: '377',internalPosition: undefined,internalQuery: undefined,where: undefined,schema: undefined,table: undefined,column: undefined,dataType: undefined,constraint: undefined,file: 'parse_relation.c',line: '1156',routine: 'parserOpenTable'},_e: error: relation "public.konga_users" does not existat Connection.parseE (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)at Connection.parseMessage (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)at Socket.<anonymous> (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)at Socket.emit (events.js:310:20)at Socket.EventEmitter.emit (domain.js:482:12)at addChunk (_stream_readable.js:286:12)at readableAddChunk (_stream_readable.js:268:9)at Socket.Readable.push (_stream_readable.js:209:10)at TCP.onStreamRead (internal/stream_base_commons.js:186:23) {length: 118,severity: 'ERROR',code: '42P01',detail: undefined,hint: undefined,position: '377',internalPosition: undefined,internalQuery: undefined,where: undefined,schema: undefined,table: undefined,column: undefined,dataType: undefined,constraint: undefined,file: 'parse_relation.c',line: '1156',routine: 'parserOpenTable'},rawStack: 'error: relation "public.konga_users" does not exist\n' +' at Connection.parseE (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)\n' +' at Connection.parseMessage (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)\n' +' at Socket.<anonymous> (/app/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)\n' +' at Socket.emit (events.js:310:20)\n' +' at Socket.EventEmitter.emit (domain.js:482:12)\n' +' at addChunk (_stream_readable.js:286:12)\n' +' at readableAddChunk (_stream_readable.js:268:9)\n' +' at Socket.Readable.push (_stream_readable.js:209:10)\n' +' at TCP.onStreamRead (internal/stream_base_commons.js:186:23)',details: 'Details: error: relation "public.konga_users" does not exist\n'
}成功信息是bash-5.0# node /app/bin/konga.js prepare \
> --adapter postgres \
> --uri postgres://postgres:kongaAa123456@postgres-postgresql:5432/konga
Preparing database...
debug: Hook:api_health_checks:process() called
debug: Hook:health_checks:process() called
debug: Hook:start-scheduled-snapshots:process() called
debug: Hook:upstream_health_checks:process() called
debug: Hook:user_events_hook:process() called
debug: Seeding User...
debug: User seed planted
debug: Seeding Kongnode...
debug: Kongnode seed planted
debug: Seeding Emailtransport...
debug: Emailtransport seed planted
debug: Database migrations completed!
解决办法,初始化迁移数据
bash-5.0# node /app/bin/konga.js prepare \
> --adapter postgres \
> --uri postgres://postgres:kongaAa123456@postgres-postgresql:5432/konga
Preparing database...
debug: Hook:api_health_checks:process() called
debug: Hook:health_checks:process() called
debug: Hook:start-scheduled-snapshots:process() called
debug: Hook:upstream_health_checks:process() called
debug: Hook:user_events_hook:process() called
debug: Seeding User...
debug: User seed planted
debug: Seeding Kongnode...
debug: Kongnode seed planted
debug: Seeding Emailtransport...
debug: Emailtransport seed planted
debug: Database migrations completed!
登录web控制台
配置目标 | 配置位置 | 说明 |
---|---|---|
🧑💻 Konga 的登录账号 | 第一次初始化时自动创建(可用 prepare 设置) | Konga 的 Web 控制台登录用户 |
🔐 连接 Kong Admin API 的账号密码或 Token | Konga 控制台 ➝ Kong Nodes 配置 | 用于让 Konga 控制台访问你的 Kong 实例 |
http://node-ip:31337/#!/services
下面会出现连接不上的原因,解决办法是通过将kong-kong的deployment中的proxy这个pod的KONG_ADMIN_LISTEN的值改成0.0.0.0:8001,且要将8001映射到kong-kong-manager的服务上
相关文章:
Helm部署kong+konga的路由管理系统
部署postgres服务 创建存储类 创建存储类对应的deployment --- apiVersion: apps/v1 kind: Deployment metadata:annotations: {}labels:app: eip-nfs-postgresql-storageclassname: eip-nfs-postgresql-storageclassnamespace: kube-systemresourceVersion: 26709116 spec:…...
液氮恒温器原理解析
一、核心降温原理 1、液氮媒介作用 液氮恒温器以液氮(沸点约77K/-196℃)为降温媒介,通过液氮蒸发吸收热量的特性实现快速降温。 液氮在内部腔体蒸发时形成气-液界面,利用毛细管路将冷媒导入蒸发器,强化热交换…...
EchoMimic 阿里开源数字人项目的复现过程
EchoMimic 是一个由阿里巴巴蚂蚁集团开发的开源AI 数字人项目,通过可编辑地标调节实现逼真的音频驱动肖像动画,它能够将静态图像转化为具有动态语音和表情的数字人像。 今天咱们来复现下,看看有哪些坑,再看看数字人效果如何。 先…...
iVX 开源战略:多维突破下的产业生态革新与未来图景
在开源技术浪潮席卷全球软件产业的当下,iVX 凭借持续迭代的开源战略,不断突破技术边界,拓展应用场景,重塑产业生态。从底层技术架构的深度优化,到多行业应用场景的全面覆盖;从全球化生态体系的完善构建&…...
数据库12(游标)
游标语法 declare c1 cursor for select title from titles --定义一个游标c1,确定游标对应的列是titles表的title列,游标可以对应多个列 declare bname varchar(50) --声明变量 open c1 --初始化,开始使用游标 fetch next from c1 in…...
Windows11下本地化部署AI开发环境(Dify+Ollama)
前言 本次实践希望在Windows环境下本地化部署AI开发环境,通过Ollama下载运行模型,通过Dify搭建管理AI应用。 硬件环境 AI大模型开发对硬件要求较高,理论上配置越高越好。本次搭建环境如下: Windows系统(Windows11&…...
Oracle Bigfile 与 Smallfile 表空间对比分析
Oracle Bigfile 与 Smallfile 表空间对比分析 一、基本概念对比 特性Bigfile 表空间Smallfile 表空间定义每个表空间只包含一个大数据文件每个表空间可包含多个数据文件引入版本Oracle 10gOracle 传统模式最大文件大小取决于块大小(32TB for 8K块)通常最大32GB(传统限制)文件…...
Cypress/Playwright 跨浏览器测试
以下是关于 Cypress 和 Playwright 跨浏览器测试的基本知识总结: 一、工具核心差异 维度CypressPlaywright浏览器支持Chromium 系为主(需配置支持其他浏览器)原生支持 Chromium/Firefox/WebKit架构设计同进程运行远程协议控制(CDP/WebDriver)执行速度较快(内存运行)快速…...
【Python学习路线】零基础到项目实战
目录 🌟 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 🧠 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 💻 二、实战演示环境配置要求核心代码实现运行结果验证 ⚡ 三、性能对比测试方法论量化数据对比…...
26个脑影像工具包合集分享:从预处理到SCI成图
为方便各位脑科学研究者更好地使用优质的开源工具,本期脑海科技实验室汇总了近期整理的脑影像分析软件,希望可以帮助大家。 脑影像分析软件汇总 本次总结脑影像工具包合集(点击本条文字内容跳转) 工具包包括 1、CONN࿱…...
C# 高效操作excel文件
C#高效操作Excel文件指南 一、主流Excel处理方案对比 方案类型特点适用场景EPPlus第三方库功能全面,性能好,支持.xlsx复杂Excel操作,大数据量NPOI第三方库支持.xls和.xlsx,功能全面兼容旧版Excel文件Closed…...
综合案例建模
文章目录 滚花手扭螺丝机箱封盖螺丝螺丝孔锥形垫片 滚花手扭螺丝 前视基准面画草图,旋转生成主体 倒角0.5 顶面,草图转换实体引用,去复制边线 生成螺旋线路径 顶面绘制草图 上一步画的草图沿螺旋线扫描切除 镜像扫描特征 阵列镜像扫描特征 创…...
【蓝桥杯】第十六届蓝桥杯C/C++大学B组个人反思总结
前言 这是我第一次参加蓝桥杯大赛,我将通过一下 4 点来总结我的整个蓝桥杯经历 赛前准备 我大约花了 150h 来备战本次蓝桥杯软件赛,虽然最终的没有取得很好的成绩(省二),但是此次比赛对我来说有着很大的意义。 大二…...
运维仙途 第2章 日志深渊识异常
第2章 日志深渊识异常 情节梗概 凌运维发现混沌钟显示的灵脉波动与藏经阁古籍记载不符。为查明真相,他冒险进入「日志深渊」——青云门历代系统异常的记录之地。在这里,他结识了能同时解读十万条日志的慕监控… 技术映射 graph LR古籍记载 --> 历…...
知识图谱系列(1):基础概念与发展历程
1. 引言与背景介绍 在当今数字化时代,数据呈现爆炸式增长,如何有效地组织、管理和利用这些海量数据成为了一个重要挑战。传统的数据管理方式往往将数据存储在相互隔离的系统中,难以建立数据之间的关联,更难以挖掘数据背后的深层知识和价值。知识图谱作为一种新型的知识表示…...
halcon关闭图形窗口
1、dev_close_window () 调用一次这个函数关闭一个图形窗口,并且先关闭最后打开的那个图形窗口,如果一共打开了N个图形窗口,那么就需要调用dev_close_window N次。...
2025深圳杯东三省数学建模竞赛选题建议+初步分析
完整内容请看文章最下面的推广群 2025深圳杯&东三省数学建模选题建议初步分析 首先吐槽一句,今年为了规避AI对数模竞赛的冲击,深圳杯的整体难度相较往年更高,C君作数模5年见过最难的一次比赛。 提示:C君认为的难度和开放度…...
flutter开发音乐APP(简单的音乐播放demo)
效果如下: 音乐播放界面 锁屏音乐播放展示 主要使用的插件如下 just_audio : 是一个功能丰富的音频播放器,适用于Android、iOS、macOS、Web、Linux和Windows平台。它提供了多种功能,包括从URL、文件、资产或字节流读取音频,支持D…...
day007
文章目录 1. sort 排序1.1 -r,-n1.2 -k 按列比较1.3 练习1.3.1 找出/etc下占用空间最大的前5个内容1.3.2 查看/*下所有目录的大小,并取出最大的5个 2. uniq 去重2.1 uniq与sort统计次数 3. awk4. 日志分析4.1 分析access.log中ip出现的次数并取前5名4.2 分析secure文…...
二进制如何与三生原理实现统一?
AI辅助创作: 一、符号系统的维度统一 二元符号的阴阳元重构 二进制符号0与1在三生原理中被抽象为阴元(2)与阳元(3),通过小衍数法实现自然数域与阴阳域的映射转换。例如旧奇数公式p 2n1 与…...
普通IT的股票交易成长史--20250430午
声明:本文章的内容只是自己学习的总结,不构成投资建议。文中观点基本来自yt站Andylee,美股Alpha姐,综合自己的观点得出。感谢他的无私分享。 仓位就是生命,绝对不能满仓!!!…...
【计算机视觉】目标检测:深度解析MMDetection:OpenMMLab开源目标检测框架实战指南
深度解析MMDetection:OpenMMLab开源目标检测框架实战指南 架构设计与技术亮点系统架构概览核心技术特性 环境配置与安装指南硬件配置建议详细安装步骤环境验证 实战全流程解析1. 数据集准备2. 配置文件定制3. 模型训练与调优4. 模型评估与推理 核心功能扩展1. 自定义…...
《冰雪传奇点卡版》:第二大陆介绍!
一、第二大陆:高阶资源与实力验证的核心战场 1. 准入条件与地图分布 进入门槛: 基础要求:角色需达到四转(需消耗50万元宝完成转生任务),部分地图需额外满足神魔点数(如黑暗之森需神魔全2&#…...
在线服务器都有哪些用途?
在线服务器是指一种能够能够随时进行连接、管理和操作的服务器,可以通过互联网或者是本地网络来为用户提供网络服务,在线服务器可以是物理服务器也可以是虚拟服务器,让用户可以通过远程访问工具来进行管理。 在线服务器在云计算和虚拟化技术中…...
(Go Gin)Gin学习笔记(二):路由配置、基本路由、表单参数、上传单个文件、上传多个文件、浅扒路由原理
1. 路由 gin 框架中采用的路优酷是基于httprouter做的 HttpRouter 是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。 主要特点 显式匹配:与其他路由…...
Java 中的 设计模式详解
一:设计模式概述 (1)概述 (2)分类 创建型 行为型 结构型 二:软件设计模式 2.1 开闭原则 (1)定义 在程序需要进行拓展的时候,不能修改原有代码 使用到接口和抽象类&#x…...
设计模式(构建者模式)
建造者设计模式详解 建造者模式(Builder Pattern)是一种创建型设计模式,它允许我们分步骤创建复杂对象。这种模式特别适合那些需要多个步骤才能构建出来的、有很多配置选项的对象。 为什么需要建造者模式? 想象一下,…...
python实战项目67:空气质量在线检测平台js逆向
python实战项目67:空气质量在线检测平台js逆向 一、需求介绍二、完整代码一、需求介绍 项目需求是获取某个城市(以北京市为例)历年(2013年12月至2025年4月)的空气质量数据,字段包括日期、AQI、质量等级、PM2.5、PM10、NO2、CO、SO2等。改网站的网址是“https://www.aqis…...
verilog_testbench技巧
forever语句 forever begin state; end 一直执行state repeat(n) begin state; end 执行state,n次 force语句对双向端口进行输入赋值。 与wait 是边沿触发,wait是电平触发 仿真控制语句与系统任务描述 $stop停止仿真…...
Hadoop 集群基础指令指南
目录 🧩 一、Hadoop 基础服务管理指令 ▶️ 启动 Hadoop ⏹️ 关闭 Hadoop 🧾 查看进程是否正常运行 📁 二、HDFS 常用文件系统指令 🛠️ 三、MapReduce 作业运行指令 📋 四、集群状态监控指令 💡 …...
k8s平台:手动部署Grafana
以下是一个可用于生产环境的 Kubernetes 部署 Grafana 的 YAML 文件。该配置包括 Deployment、Service、ConfigMap 和 PersistentVolumeClaim,确保 Grafana 的高可用性和数据持久化。 Grafana 生产部署 YAML 文件 ☆实操示例 cat grafana-deployment.yaml --- # …...
品牌网站建设与高端网站定制:塑造企业独特形象
在当今数字化时代,企业品牌网站建设、高端网站定制、多语言外贸网站开发以及网站安全运维已成为企业不可或缺的一部分。它们不仅是企业展示形象、推广产品的重要窗口,更是企业实现数字化转型、提升市场竞争力的关键环节。本文将围绕这些主题,…...
canvas动画:点随机运动 距离内自动连接成线 鼠标移动自动吸附附近的点
思路/实现步骤 创建canvas元素 获取canvas的上下文ctx 初始化点的信息(数量、初始坐标、移动方向、移动速度、大小、颜色) 绘制点 绘制点之间的连线 点有规律的动起来 动画循环 鼠标移动相关逻辑 点鼠标之间连线 鼠标吸附逻辑 添加配置项 重绘…...
算法竞赛进阶指南.沙漠之王
目录 题目算法标签: 01 01 01分数规划, 最小生成树思路代码 题目 348. 沙漠之王 算法标签: 01 01 01分数规划, 最小生成树 思路 看题目有要求是构建的渠道的总长度和总成本的比值最小, 形式化的表示 k ∑ L ∑ S k \frac {\sum L}{\sum S} k∑S∑L 可以转化为 k ⋅…...
第四章:走向共产主义社会
第四章:走向共产主义社会 1. 全球无阶级社会的形成 随着生产力的高度发展和社会资源的极大丰富,资本主义的最后残余彻底消失。全球范围内实现了按需分配的社会制度,所有国家都废除了货币体系和私有财产制度,进入了真正的共产主义…...
K8S - HPA + 探针实战 - 实现弹性扩缩与自愈
引言 在分布式系统中,弹性扩缩容与 服务自愈是保障业务高可用的核心能力。Kubernetes 通过自动化机制实现两大关键功能: • 动态扩缩容:基于 CPU/内存负载自动调整 Pod 副本数量,应对流量波动。 • 故障自愈:通过健…...
永磁同步电机控制算法--线性ADRC转速环控制器(一阶、二阶)
一、原理介绍 搭建一阶、二阶线性ADRC转速环控制器,通常一阶ADRC包括一阶LTD、二阶LESO、LSEF,二阶ADRC包括二阶LTD、三阶LESO、LSEF。 原理部分参考了这篇知乎自抗扰控制-ADRC - 知乎。 二、仿真验证 在MATLAB/simulink里面验证所提算法,…...
泰迪杯特等奖案例学习资料:基于多模态数据融合与边缘计算的工业设备健康监测与预测性维护系统
(第十三届泰迪杯数据挖掘挑战赛特等奖案例解析) 一、案例背景与核心挑战 1.1 应用场景与行业痛点 在智能制造领域,工业设备(如数控机床、风力发电机)的健康状态直接影响生产效率和运维成本。传统维护方式存在以下问题: 故障响应滞后:依赖定期检修,突发故障导致停机损…...
4.29[Q]NLP-Exp2
我正在完成自然语言处理作业,?阅读文档,详细解释,越细节越好 class TextCNN(object): def __init__(self, config): self.config config self.preprocessor Preprocessor(config) self.class_name {0: 负面, 1: 正面} def buil…...
前端开发 Markdown 编辑器与富文本编辑器详解
一、现有开源项目分析 1. Markdown 编辑器 项目名称 技术栈 核心特性 适用场景 Editor.md JavaScript/Node.js 支持 GFM、代码块、流程图、数学公式,兼容 IE8,提供主题切换功能 技术博客、网页站、在线文档 Bytemd Svelte/Vue/Re…...
GCC-C语言“自定义段”
一、起因 事情的起因是这样的,在看别人代码时,发现了一种很有意思的写法,因为本人主要是以应用层开发为主,所以对这种写法还是比较少见的,所以研究了一下,就牵扯出了一些知识点,这里先卖个关子,继续往下看。 二、经过 发现了一串这样的代码 static void do_mac(mcmd_…...
2025年4月个人工作生活总结
本文为 2025年4月工作生活总结。 研发编码 一个项目的临时记录 自2月份领导让我牵头负责一个项目起,在本月算是有较多时间投入——但也是与之前的相比。 月初,清明节前一晚上,因某事务被叫上参加临时紧急远程会议,几方领导都在…...
B/S架构:定义、原理及其在软件测试中的应用
引言 在当今互联网时代,B/S架构已成为软件开发的主流模式之一。作为软件测试工程师,深入理解B/S架构的定义和工作原理,对于设计有效的测试策略至关重要。本文将全面解析B/S架构,并探讨其在软件测试中的特殊考量。 一、B/S架构的…...
【Android】文件导出到本地或者U盘
项目需求 在使用Android 9平板开发的时候,项目更新了一个新的需求,现在需要检测设备是否插入U盘,如果没有U盘的话,就将文件导出到系统根目录,如果有U盘的话,就将文件导出到U盘里面。 项目实现 1.实现文件…...
在Electron中爬取CSDN首页的文章信息
背景 之前分享了Electron入门的相关文章:https://gitee.com/ruirui-study/electron-demo 后来,我就想在里面多做一些演示给大家看,集成了以下功能及演示: 窗口管理、各种方法封装托盘管理菜单管理获取屏幕演示多窗口及通信演示…...
论文阅读:2024 EMNLP User Inference Attacks on Large Language Models
总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 User Inference Attacks on Large Language Models https://arxiv.org/pdf/2310.09266 https://www.doubao.com/chat/4034601691207170 速览 这篇论文主要研究了大语言模…...
学习记录:DAY21
我的开发日志:类路径扫描、DI 容器与动态代理 前言 我失忆了,完全不记得自己早上干了什么。 日程 早上 10 点左右开始,学了一早上,主要是类路径扫描相关的调试。 晚上 8 点了,真不能再摸🐟了。 学习记录 计…...
服务器频繁重启日志分析与诊断
从你提供的日志来看,系统确实经历了多次重启。这个日志行显示的是: reboot system boot 6.8.0-58-generic Tue Apr 29 17:54 - 14:26 (20:31)这表示系统在4月29日17:54启动,运行了约20小时31分钟后,于次日14:26结束(可…...
阿里云服务迁移实战: 07-其他服务迁移
概述 当完成了服务器、数据库、IP、OSS等迁移后,剩下的就是其他服务了。 短信网关 短信模板只能一个个创建,不能批量操作。但是可以使用以下方式优化操作。 在原账号导出模板列表 概述 当完成了服务器、数据库、IP、OSS等迁移后,剩下的…...
第六章 QT基础:9、Qt中数据库的操作
Qt数据库模块概述与使用详解 软件安装教程:https://subingwen.cn/qt/sql-driver/ 1. 概述 Qt框架中对数据库操作提供了很好的支持,我们可以通过Qt提供的类非常方便地和本地或者远程数据库进行连接。 众所周知,数据库是 C-S(cl…...