智云-一个抓取web流量的轻量级蜜罐-k8s快速搭建教程
智云-一个抓取web流量的轻量级蜜罐-k8s快速搭建教程
github地址
https://github.com/xiaoxiaoranxxx/POT-ZHIYUN
k8s搭建教程
首先下载代码文件
git clone https://github.com/xiaoxiaoranxxx/POT-ZHIYUN.git
cd POT-ZHIYUN
编译镜像
代码相关文件在github
https://github.com/xiaoxiaoranxxx/POT-ZHIYUN
docker build -t install/pot-main:v1 .

创建命名空间和configmap
kubectl create -f pot-mysql-init.yaml# 查看创建情况
kubectl get configmaps -n pot-zhiyun

创建pv,pvc,mysql
kubectl create -f pot-mysql.yaml

查看mysql容器中的init.sql是否成功初始化
kubectl logs -n pot-zhiyun pot-mysql-0

创建pv,pvc,web
kubectl create -f pot-web-deployment.yaml

确认正常安装
kubectl get pods -n pot-zhiyun
pot-zhiyun空间下所有pod都为Running状态

kubectl get svc -n pot-zhiyun
查看svc的状态,pot-web 的NodePort出口端口为31394,因此访问http://127.0.0.1:31394/为200说明搭建成功

设计思路
mysql
mysql为StatefulSet类型,单数据库来存储
通过configMap来初始化数据库文件
通过pv卷来实现持久化存储,默认分配大小为10G
创建一个services,可通过pot-mysql来获取主机名
web
web为Deployment类型,可生成多个pod来实现负载
通过pv卷来实现runtime目录共享,达到多个pod数据同步问题
pv卷默认分配大小为1G
创建一个services,可通过Local来获取真实IP地址
NodePort会对外映射一个端口
面对多个扫描器同时扫描可达到负载效果,可以在内网多个节点配置蜜罐来达到内网多节点蜜罐

相关配置文件
pot-mysql-init.yaml
apiVersion: v1
kind: Namespace
metadata:name: pot-zhiyun
---
apiVersion: v1
kind: ConfigMap
metadata:name: mysql-initdb-confignamespace: pot-zhiyun
data:init.sql: |SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;
...
pot-mysql.yaml
apiVersion: v1
kind: PersistentVolume
metadata:name: mysql-pvnamespace: pot-zhiyun
spec:capacity:storage: 10GivolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: standard-pot-mysqlhostPath: path: /mnt/data/pot-mysql
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-data-pot-mysqlnamespace: pot-zhiyun
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10GistorageClassName: standard-pot-mysql
---
apiVersion: apps/v1
kind: StatefulSet
metadata:name: pot-mysqlnamespace: pot-zhiyun
spec:serviceName: "pot-mysql"replicas: 1selector:matchLabels:app: pot-mysqltemplate:metadata:labels:app: pot-mysqlspec:volumes:- name: init-scriptsconfigMap:name: mysql-initdb-configcontainers:- name: pot-mysqlimage: mysql:8.0.22env:- name: MYSQL_DATABASEvalue: pot_admin- name: MYSQL_USERvalue: root- name: MYSQL_ROOT_PASSWORDvalue: pot_admin@123ports:- containerPort: 3306volumeMounts:- name: mysql-data-potmountPath: /var/lib/mysql- name: init-scriptsmountPath: /docker-entrypoint-initdb.dvolumeClaimTemplates:- metadata:name: mysql-data-potspec:accessModes: ["ReadWriteOnce"]resources:requests:storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:name: pot-mysqlnamespace: pot-zhiyun
spec:ports:- port: 3306targetPort: 3306selector:app: pot-mysql
pot-web-deployment.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-data-pot-webnamespace: pot-zhiyun
spec:accessModes:- ReadWriteOnceresources:requests:storage: 1GistorageClassName: standard-pot-web
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pot-web-pv
spec:capacity:storage: 1GivolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: standard-pot-webhostPath:path: /mnt/data/pot-web
---
apiVersion: apps/v1
kind: Deployment
metadata:name: pot-webnamespace: pot-zhiyun
spec:replicas: 5selector:matchLabels:app: pot-webtemplate:metadata:labels:app: pot-webspec:initContainers:- name: init-permissionsimage: busyboxcommand: ["sh", "-c", "chmod -R 777 /var/www/html/runtime/"]volumeMounts:- name: mysql-data-potmountPath: /var/www/html/runtime/containers:- name: pot-webimage: install/pot-main:v1ports:- containerPort: 80volumeMounts:- name: mysql-data-potmountPath: /var/www/html/runtime/volumes:- name: mysql-data-potpersistentVolumeClaim:claimName: mysql-data-pot-web
---
apiVersion: v1
kind: Service
metadata:name: pot-webnamespace: pot-zhiyun
spec:type: NodePortexternalTrafficPolicy: Localports:- port: 80targetPort: 80selector:app: pot-web
相关文章:
智云-一个抓取web流量的轻量级蜜罐-k8s快速搭建教程
智云-一个抓取web流量的轻量级蜜罐-k8s快速搭建教程 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN k8s搭建教程 首先下载代码文件 git clone https://github.com/xiaoxiaoranxxx/POT-ZHIYUN.git cd POT-ZHIYUN编译镜像 代码相关文件在github https://github.com/x…...
万物皆有联系:驼鸟和布什
布什?一块布十块钱吗?不是,大家都知道,美国有两个总统,叫老布什和小布什,因为两个布什总统(父子俩),大家就这么叫来着,目的是为了好区分。 布什总统的布什&a…...
nodejs:js-mdict 的下载、安装、测试、build
js-mdict 项目的目录结构:js-mdict 项目教程 js-mdict 下载地址: js-mdict-master.zip 先解压到 D:\Source\ js-mdict 6.0.2 用了 ts (TypeScript) 和 Jest,增加了应用开发的难度,因为先要了解 ts 和 Jest。 参阅:测试与开发&a…...
< OS 有关 > 阿里云:轻量应用服务器 的使用 :轻量化 阿里云 vpm 主机
原因: < OS 有关 > 阿里云:轻量应用服务器 的使用 :从新开始 配置 SSH 主机名 DNS Tailscale 更新OS安装包 最主要是 清除阿里云客户端这个性能杀手-CSDN博客 防止 I/O 祸害系统 操作: 查看进程&#x…...
sqlzoo答案4:SELECT within SELECT Tutorial
sql练习:SELECT within SELECT Tutorial - SQLZoo world表: namecontinentareapopulationgdpAfghanistanAsia6522302550010020343000000AlbaniaEurope28748283174112960000000AlgeriaAfrica238174137100000188681000000AndorraEurope46878115371200000…...
Ubuntu全面卸载mysql
如果你已经看到whereis mysql输出了与MySQL相关的路径,说明MySQL仍然存在于系统中。要卸载MySQL,可以按照以下步骤操作,确保完全删除所有相关的文件和配置: 1. 停止MySQL服务 首先,停止MySQL服务: sudo …...
SOME/IP--协议英文原文讲解3
前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 Note: Thi…...
350.两个数组的交集 ②
目录 题目过程解法 题目 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑…...
药店药品销售管理系统的设计与实现
标题:药店药品销售管理系统的设计与实现 内容:1.摘要 摘要:本文介绍了药店药品销售管理系统的设计与实现。该系统旨在提高药店的运营效率和管理水平,通过信息化手段实现药品销售、库存管理、财务管理等功能。本文详细阐述了系统的需求分析、设计思路、技…...
汽车蓝牙钥匙定位仿真小程序
此需求来自于粉丝的真实需求,假期没事,牛刀小试。 一、项目背景 如今,智能车钥匙和移动端定位技术已经相当普及。为了探索蓝牙 Beacon 在短距离定位场景下的可行性,我们搭建了一个简易原型:利用 UniApp 在移动端采集蓝牙信标的 RSSI(信号强度),通过三边定位算法估算钥…...
unity学习24:场景scene相关生成,加载,卸载,加载进度,异步加载场景等
目录 1 场景数量 SceneManager.sceneCount 2 直接代码生成新场景 SceneManager.CreateScene 3 场景的加载 3.1 用代码加载场景,仍然build setting里先加入配置 3.2 卸载场景 SceneManager.UnloadSceneAsync(); 3.3 同步加载场景 SceneManager.LoadScene 3.3.…...
四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用)
四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用) 文章目录 四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用)1. 有序集合 Zset(sorted set)2. zset 有序…...
S4 HANA税码科目确定(OB40)
本文主要介绍在S4 HANA OP中税码科目确定(OB40)相关设置。具体请参照如下内容: 税码科目确定(OB40) 在以上界面维护“Transaction Key”的记账码。 在以上界面进一步维护“Transaction Key”确定科目的规则。 Chart of Account:用于明确该规则适用于什么科目表。 …...
DeepSeek的崛起与OpenAI的守擂:AI大模型时代的竞争新格局
DeepSeek的崛起与OpenAI的守擂:AI大模型时代的竞争新格局 近年来,全球生成式AI领域风起云涌,中国初创公司DeepSeek(深度求索)凭借一系列创新动作异军突起,引发行业热议。从发布对标GPT-4的MoE模型到开源轻量…...
CSDN的历史
CSDN(中国开发者网络,China Software Developer Network)是中国最具影响力的IT技术社区之一,其历史可追溯至1999年。以下是其发展历程和关键节点: --- **一、创立背景(1999年)** - **创始人**:蒋涛(国内知名技术人,曾参与金山软件早期开发)。 - **初衷**:为国内程…...
vim的特殊模式-可视化模式
可视化模式:按 v进入可视化模式 选中 y复制 d剪切/删除 可视化块模式: ctrlv 选中 y复制 d剪切/删除 示例: (vim可视化模式的进阶使用:vim可视化模式的进阶操作-CSDN博客)...
鸿蒙HarmonyOS实战-ArkUI动画(页面转场动画)_鸿蒙arkui tab 切换动画
PageTransitionExit({type?: RouteType,duration?: number,curve?: Curve | string,delay?: number}) 在HarmonyOS中,PageTransitionEnter和PageTransitionExit是用于控制页面切换动画的参数。它们分别表示页面进入和退出时的动画。1. type(动画类型…...
UE5制作视差图
双目深度估计开源数据集很多都是用UE制作的,那么我们自己能否通过UE制作自己想要的场景的数据集呢。最近花了点时间研究了一下,分享给需要的小伙伴。 主要使用的是UnrealCV插件,UnrealCV是一个开源项目,旨在帮助计算机视觉研究人…...
根据每月流量和市场份额排名前20 的AI工具列表
ChatGPT:由Open AI研发,是一款对话式大型语言模型。它能够理解自然语言输入,生成连贯且符合逻辑的回复。可用于文本创作,如撰写文章、故事、诗歌;还能解答各种领域的知识问题,提供翻译、代码解释等服务&…...
前端学习-事件委托(三十)
目录 前言 课前思考 for循环注册事件 语法 事件委托 1.事件委托的好处是什么? 2.事件委托是委托给了谁,父元素还是子元素 3.如何找到真正触发的元素 示例代码 总结 前言 才子佳人,自是白衣卿相 课前思考 1.如果同时给多个元素注册事件&…...
记忆化搜索(5题)
是什么? 是一个带备忘录的递归 如何实现记忆化搜索 1.添加一个备忘录(建立一个可变参数和返回值的映射关系) 2.递归每次返回的时候把结果放到备忘录里 3.在每次进入递归的时候往备忘录里面看看。 目录 1.斐波那契数列 2.不同路径 3.最…...
【游戏设计原理】96 - 成就感
成就感是玩家体验的核心,它来自完成一件让自己满意的任务,而这种任务通常需要一定的努力和挑战。游戏设计师的目标是通过合理设计任务,不断为玩家提供成就感,保持他们的参与热情。 ARCS行为模式(注意力、关联性、自信…...
Java小白入门教程:内置数据类型(四类八种)和引用数据类型
目录 一、内置数据类型(四类八种) 1. 整数类型(四种子类型) 2. 浮点类型(两种子类型) 3. 字符类型(一种子类型) 4. 布尔类型(一种子类型) 二、引用数据类…...
【设计测试用例自动化测试性能测试 实战篇】
🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 设计测试用例…...
20-30 五子棋游戏
20-分析五子棋的实现思路_哔哩哔哩_bilibili20-分析五子棋的实现思路是一次性学会 Canvas 动画绘图(核心精讲50个案例)2023最新教程的第21集视频,该合集共计53集,视频收藏或关注UP主,及时了解更多相关视频内容。https:…...
抽象类与抽象方法详解
目录 一、 基本概念 1.抽象类(Abstract Class): 2.抽象方法(Abstract Method): 二、示例代码 抽象类 抽象方法 三、抽象类的使用场景 四、 抽象类与接口的对比 五、注意事项 六、总结 一、 基本概…...
受击反馈HitReact、死亡效果Death Dissolve、Floating伤害值Text(末尾附 客户端RPC )
受击反馈HitReact 设置角色受击标签 (GameplayTag基本了解待补充) 角色监听标签并设置移动速度 创建一个受击技能,并应用GE 实现设置角色的受击蒙太奇动画 实现角色受击时播放蒙太奇动画,为了保证通用性,将其设置为一个函数,并…...
应用程序中处理文件上传的方法
在应用程序中处理文件上传通常涉及以下几个步骤: 一、前端准备 前端负责收集文件,并通过 HTTP 请求将其发送到服务器。常见的方法包括: ①HTML <form>; 表单:使用 enctype="multipart/form-data" 属性指定表单支持文件上传。 ②JavaScript (AJAX):可以使…...
Java进阶six junit单元测试,反射,注解,动态代理
前言 Java进阶课程的第六篇,也是最后一篇,junit单元测试,反射,注解,动态代理相关内容 包含知识点 junit单元测试 反射 1.内部类Student: 包含私有/公共字段和方法 包含默认构造器和私有构造器 2.获取Class对象的三种方式: .…...
STM32 LED呼吸灯
接线图: 这里将正极接到PA0引脚上,负极接到GND,这样就高电平点亮LED,低电平熄灭。 占空比越大,LED越亮,占空比越小,LED越暗 PWM初始化配置 输出比较函数介绍: 用这四个函数配置输…...
