文章目录
- 服务器搭建准备
- 基础环境介绍
- 展示效果
- iKuai展示效果
- iStroreOS展示效果
- ESXI展示效果
- 群辉展示效果
- JumpServer展示
- kubesphere展示
- 环境搭建
- ESXI系统安装及基础网络环境配置
- ESXI系统安装
- 基础网络环境配置
- 配置虚拟交换机
- 配置端口组
- ESXI中虚拟机安装
- ikuai安装及配置
- ikuai安装
- 拨号、DDNS、端口映射
- iStroreOS安装及配置
- iStroreOS安装
- iStroreOS配置旁路由
- 安装openclash
- 群辉安装及配置
- 群辉nas配置
- jumpserver安装配置
- 单机部署
- k8s中helm部署
- jumpserver安装到容器中应用发布问题
服务器搭建准备
小编准备了一台塔式服务器,配置如下:
处理器 | 内存 | 硬盘 | 显卡 | 网卡 |
---|---|---|---|---|
E5-2696V2*2 2.5G主频 24核48线程 | 256G | 3TB*6 | 集成显卡 | 千兆网卡*2 |
若不运行大模型无需显卡,显卡比较贵;购买服务器可以叫卖家安装好ESXI系统并制作好磁盘整列
基础环境介绍
系统 | ip/内网域名 | 主要用途 | |
---|---|---|---|
主路由 | iKuai | 192.168.31.2 | 1、DDNS 2、端口映射 3、流量监控 |
nas | 群辉 | 192.168.31.3 | 1、nfs 2、云盘 3、DNS 4、磁盘整列 |
虚拟化系统 | ESXI | 192.168.31.4 | 类似虚拟机 |
旁路由 | iStroreOS | 192.168.31.5 | 全设备科学上网 |
堡垒机 | CentOs7.5 | 192.168.31.8 | 管理服务器、数据库、web等资产 |
kubesphere | CentOs7.5 | 192.168.31.11 | master, etcd |
CentOs7.5 | 192.168.31.12 | master, etcd | |
CentOs7.5 | 192.168.31.13 | master, etcd | |
CentOs7.5 | 192.168.31.14 | worker | |
CentOs7.5 | 192.168.31.15 | worker | |
CentOs7.5 | 192.168.31.16 | worker |
展示效果
iKuai展示效果
iStroreOS展示效果
ESXI展示效果
群辉展示效果
JumpServer展示
kubesphere展示
环境搭建
ESXI系统安装及基础网络环境配置
ESXI系统安装
建议在购买塔式服务器器让商家安装ESXI系统,手动安装参考 vSphere ESXI 7.0部署
基础网络环境配置
- 配置直通网卡,后续用于双软路由系统
- ESXI安装好后配置基础网络环境,登录ESXI后台配置网络:
端口组 | 虚拟交换机 | 物理网卡 | VMkernel网卡 | TCP/IP堆栈 | 防火墙规则 | |
---|---|---|---|---|---|---|
定义 | 一组用于连接虚拟机和外部网络的端口 | 用于连接虚拟机和物理网络的虚拟交换机 | 用于连接物理网络和ESXi主机的物理网卡 | 用于连接ESXi主机和虚拟网络的虚拟网卡 | 用于处理网络通信的协议栈 | 用于控制网络流量的规则 |
功能 | 提供虚拟机的网络连接和流量控制 | 提供虚拟机和物理网络之间的通信和流量控制 | 提供ESXi主机和物理网络之间的通信和流量控制 | 提供ESXi主机和虚拟机之间的通信和流量控制 | 处理网络通信和数据传输 | 控制网络流量和保护网络安全 |
配置方式 | 创建并配置端口组,并将其分配给虚拟机 | 创建并配置虚拟交换机,并将其连接到物理网卡 | 将物理网卡连接到交换机,并配置网络设置 | 创建并配置VMkernel网卡,并将其连接到物理网卡或虚拟交换机 | 配置网络协议和参数,如IP地址、子网掩码、网关等 | 创建并配置防火墙规则,以控制网络流量和保护网络安全 |
使用场景 | 用于虚拟机的网络通信和流量控制 | 用于虚拟机和物理网络之间的通信和流量控制 | 用于ESXi主机和物理网络之间的通信和流量控制 | 用于ESXi主机和虚拟机之间的通信和流量控制 | 用于处理网络通信和数据传输 | 用于控制网络流量和保护网络安全 |
相关技术 | vSphere Distributed Switch、vSphere Standard Switch | vSphere Distributed Switch、vSphere Standard Switch | 无 | vSphere Distributed Switch、vSphere Standard Switch | TCP/IP、VLAN、QoS等 | 防火墙、安全策略、VPN等 |
相关概念 | 端口组、虚拟端口、物理网卡、虚拟交换机 | 虚拟端口、物理网卡、虚拟交换机 | 物理网卡、MAC地址、VLAN | VMkernel端口、物理网卡、虚拟交换机 | IP地址、子网掩码、网关、路由 | 规则、策略、应用程序过滤、网络地址转换等 |
配置虚拟交换机
添加上行链路,及将物理网卡和虚拟交换机绑定
配置端口组
跟交换机绑定,端口组下虚拟机可以通过虚拟交换机【绑定的物理网卡】上网
ESXI中虚拟机安装
接下来安装步骤跟VMware Workstation Pro中操作基本一样
ikuai安装及配置
ikuai安装
根据官网自行安装:真实机-爱快 iKuai-商业场景网络解决方案提供商
安装完成后配置后台地址、LAN和WAN
其中wan1为直通网卡(网卡),用于连接光猫,进行ppoe拨号上网;lan1为网卡用于局域网上网
下面是WAN和LAN的介绍,以表格形式输出:
对比 | WAN(广域网) | LAN(局域网) |
---|---|---|
定义 | 跨越较大地理范围,连接多个局域网或单个计算机的网络 | 限于较小的地理范围,连接同一地点的多个计算机的网络 |
范围 | 跨越城市、地区、国家甚至跨越全球 | 局限于同一建筑物、校园、企业或家庭 |
传输速率 | 通常较慢,传输速率受到带宽、距离和网络拥堵等因素的影响 | 通常较快,传输速率受到网络设备和电缆质量等因素的影响 |
连接方式 | 使用公共或专用的传输媒介,如电话线、光缆、卫星等 | 使用局域网技术,如以太网、Wi-Fi、蓝牙等 |
拓扑结构 | 点对点、星型、环型等 | 总线型、星型、树型等 |
安全性 | 面临更多的安全威胁,需要采取更多的安全措施 | 相对较为安全,可以采取较简单的安全措施 |
应用场景 | 用于连接不同地点的计算机或网络,如互联网、VPN等 | 用于连接同一地点的计算机或网络,如家庭网络、企业内部网络等 |
拨号、DDNS、端口映射
系统概况-爱快 iKuai-商业场景网络解决方案提供商
- 配置WAN进行ppoe拨号上网
- DDNS配置
由于家庭ppoe拨号公网ip会改变,需配置DDNS绑定域名,域名建议购买国外域名(不需备案)并将域名迁移到Just a moment…上进行管理
- 配置端口映射
当有需要暴露的服务,可以配置端口映射,通过域名+端口就能访问暴露到公网的服务
iStroreOS安装及配置
iStroreOS安装
- 下载固件:下载地址
虚拟机中添加现有硬盘,启动配置静态ip
vi /etc/config/network
iStroreOS配置旁路由
安装openclash
可参考旁路由配置OpenClash
openclash下载地址:https://github.com/vernesong/OpenClash/releases
其他梯子插件:https://github.com/AUK9527/Are-u-ok/tree/main/x86
下载好后上传手动安装:
命令行安装参考:https://fugary.com/?p=419
# 升级核心,不升级可能会提示 pkg_hash_check_unresolved: cannot find dependency kernel
opkg install /tmp/upload/kernel_5.15.86-1-9f9e11a5e946333b83ba37f6864e5c49_x86_64.ipk
# 升级
opkg update
# 安装依赖
opkg install coreutils-nohup bash dnsmasq-full curl ca-certificates ipset ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base
# 安装OpenClash
opkg install /tmp/upload/luci-app-openclash_0.45.78-beta_all.ipk
#上传IPK文件至您路由器的 /tmp 目录下
#假设安装包名字为
luci-app-openclash_0.33.7-beta_all.ipk
#执行安装命令
opkg install /tmp/luci-app-openclash_0.33.7-beta_all.ipk
#执行卸载命令
#插件在卸载后会自动备份配置文件到 /tmp 目录下,除非路由器重启,在下次安装时将还原您的配置文件
opkg remove luci-app-openclash
安装完成后刷新LUCI页面,在菜单栏 -> 服务 -> OpenClash 进入插件页面
要卸载 OpenWrt 上安装的插件,您可以通过以下步骤进行操作:
- 使用 SSH 或串口等工具登录到 OpenWrt 路由器。
- 在命令行界面中输入 opkg list-installed 命令,列出已经安装的所有软件包。
- 找到您要卸载的插件的名称,并记录下来。
- 在命令行界面中输入 opkg remove 插件名称 命令,将插件卸载掉。
例如,如果您想卸载名为 “luci-app-ssr-plus” 的插件,可以使用以下命令:
opkg remove luci-app-ssr-plus
卸载完成后,您可以使用 opkg list-installed 命令确认插件是否已被成功卸载。
群辉安装及配置
安装参考:ESXi7.0 安装(黑)群晖 DSM7.1(arpl引导)
官网教程:https://github.com/fbelavenuto/arpl/blob/main/README-Zh.md
洗白参考:对采用aprl引导的黑群辉进行洗白
群辉nas配置
- 新增共享文件夹
- 编辑配置nfs规则
jumpserver安装配置
官网安装参考:离线安装 - JumpServer 文档
单机部署
离线下载:开源社区 - FIT2CLOUD 飞致云
# 启动
./jmsctl.sh start
# 停止
./jmsctl.sh down
# 卸载
./jmsctl.sh uninstall
# 帮助
./jmsctl.sh -h
该方式安装简单,自己玩建议使用该方式
官网单机部署提供的docker-compose方式部署,若要通过该方式部署可以考虑部署到kubesphere的master节点上,这样方便管理kubesphere内部资源
若是怕对ks集群master有影响,可在ks集群加入一个节点,然后停止调度,驱逐pod,然后部署
k8s中helm部署
在线安装 - JumpServer 文档
- 在ks后台创建企业空间
- 在企业空间中添加应用仓库
- 创建项目
- 进入项目创建应用
- 查看安装配置
总览
参数 | 描述 | 默认值 |
---|---|---|
nameOveride | name override | nil |
fullNameOveride | full name override | nil |
global.imageRegistry | 仓库地址 | docker.io |
global.imagePullSecrets | 私有仓库认证凭据 | nil |
global.storageClass | 存储 sc | nil |
ingress.enabled | 开启 ingress | true |
core.enabled | 开启 core | true |
koko.enabled | 开启 koko | true |
lion.enabled | 开启 lion | true |
magnus.enabled | 开启 magnus | true |
chen.enabled | 开启 chen | true |
kael.enabled | 开启 kael | true |
web.enabled | 开启 web | true |
xpack.enable | 开启 xpack | false |
必填
参数 | 描述 | 默认值 |
---|---|---|
global.storageClass | 持久化存储 | nil |
core.config.secretKey | 加密秘钥 生产环境中请修改为随机字符串,请勿外泄 | nil |
core.config.bootstrapToken | 预共享 Token 组件注册需要使用 | nil |
externalDatabase.engine | 数据库引擎 | mysql |
externalDatabase.host | 数据库 IP 地址 | nil |
externalDatabase.port | 数据库端口 | 3306 |
externalDatabase.user | 数据库用户名 | jumpserver |
externalDatabase.password | 数据库密码 | nil |
externalDatabase.database | 数据库名称 | nil |
externalRedis.host | redisIP 地址 | nil |
externalRedis.port | redis 端口 | 6379 |
externalRedis.password | redis 密码 | nil |
其他
参数 | 描述 | 默认值 |
---|---|---|
log.level | 日志等级 | INFO |
replicaCount | 副本数量 | 1 |
persistence | 持久化存储相关设置 | nil |
- 修改docker进行仓库
values.yaml进行地址修改使用如下地址:
镜像仓库 | 地址 |
---|---|
阿里云 | https://registry.cn-hangzhou.aliyuncs.com 如已有账号=>[系统分配前缀].mirror.aliyuncs.com |
腾讯云 | https://mirror.ccs.tencentyun.com |
华为云 | https://[系统分配前缀].mirror.swr.myhuaweicloud.com |
docker中国 | https://registry.docker-cn.com |
网易 | http://hub-mirror.c.163.com |
daocloud | http://f1361db2.m.daocloud.io |
Docker Toolbox 镜像源站 | https://developer.aliyun.com/… |
Docker CE 镜像源站 | https://developer.aliyun.com/… |
修改全局配置即可
nameOverride: ""
fullnameOverride: ""
global:
# 修改为阿里镜像仓库
imageRegistry: "xxx.mirror.aliyuncs.com"
imagePullSecrets: []
storageClass: ""
externalDatabase:
engine: mysql
host: localhost
port: 3306
user: root
password: ""
database: jumpserver
externalRedis:
host: localhost
port: 6379
password: ""
serviceAccount:
create: false
name:
ingress:
enabled: true
annotations:
# kubernetes.io/tls-acme: "true"
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-body-size: "4096m"
nginx.ingress.kubernetes.io/server-snippets: |
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
hosts:
- "test.jumpserver.org"
tls: []
core:
enabled: true
labels:
app.jumpserver.org/name: jms-core
config:
## 生成随机秘钥 `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`
secretKey: "Km4MII9FifRJQKII46vzx3DyyiYS2uMI2jIF7lUPQmFp8oKzzK"
## 生成随机token `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 24`
bootstrapToken: "wTYAmOf1En6B0byOOmwa9Nmm"
## Enabled it for debug
debug: false
log:
level: ERROR
jumpserver安装到容器中应用发布问题
应用发布依赖windows server2019系统,若ws2019裸机部署ks集群中jumpserver core pod和ws2019会出现网络互通问题,此时需要将ws2019也部署到ks集群中。docker部署ws参考:https://www.jianshu.com/p/4d02f7f84cf2