1. 私有云实战之基础环境搭建

发布时间:2023年12月30日


服务器搭建准备

小编准备了一台塔式服务器,配置如下:

处理器内存硬盘显卡网卡
E5-2696V2*2
2.5G主频 24核48线程
256G3TB*6集成显卡千兆网卡*2

若不运行大模型无需显卡,显卡比较贵;购买服务器可以叫卖家安装好ESXI系统并制作好磁盘整列

基础环境介绍

系统ip/内网域名主要用途
主路由iKuai192.168.31.21、DDNS
2、端口映射
3、流量监控
nas群辉192.168.31.31、nfs
2、云盘
3、DNS
4、磁盘整列
虚拟化系统ESXI192.168.31.4类似虚拟机
旁路由iStroreOS192.168.31.5全设备科学上网
堡垒机CentOs7.5192.168.31.8管理服务器、数据库、web等资产
kubesphereCentOs7.5192.168.31.11master, etcd
CentOs7.5192.168.31.12master, etcd
CentOs7.5192.168.31.13master, etcd
CentOs7.5192.168.31.14worker
CentOs7.5192.168.31.15worker
CentOs7.5192.168.31.16worker

展示效果

iKuai展示效果

image.png

iStroreOS展示效果

image.png

ESXI展示效果

image.png

群辉展示效果

image.png

JumpServer展示

image.png
image.png

kubesphere展示

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

环境搭建

ESXI系统安装及基础网络环境配置

ESXI系统安装

建议在购买塔式服务器器让商家安装ESXI系统,手动安装参考 vSphere ESXI 7.0部署

基础网络环境配置

  1. 配置直通网卡,后续用于双软路由系统

image.png

  1. ESXI安装好后配置基础网络环境,登录ESXI后台配置网络:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


端口组虚拟交换机物理网卡VMkernel网卡TCP/IP堆栈防火墙规则
定义一组用于连接虚拟机和外部网络的端口用于连接虚拟机和物理网络的虚拟交换机用于连接物理网络和ESXi主机的物理网卡用于连接ESXi主机和虚拟网络的虚拟网卡用于处理网络通信的协议栈用于控制网络流量的规则
功能提供虚拟机的网络连接和流量控制提供虚拟机和物理网络之间的通信和流量控制提供ESXi主机和物理网络之间的通信和流量控制提供ESXi主机和虚拟机之间的通信和流量控制处理网络通信和数据传输控制网络流量和保护网络安全
配置方式创建并配置端口组,并将其分配给虚拟机创建并配置虚拟交换机,并将其连接到物理网卡将物理网卡连接到交换机,并配置网络设置创建并配置VMkernel网卡,并将其连接到物理网卡或虚拟交换机配置网络协议和参数,如IP地址、子网掩码、网关等创建并配置防火墙规则,以控制网络流量和保护网络安全
使用场景用于虚拟机的网络通信和流量控制用于虚拟机和物理网络之间的通信和流量控制用于ESXi主机和物理网络之间的通信和流量控制用于ESXi主机和虚拟机之间的通信和流量控制用于处理网络通信和数据传输用于控制网络流量和保护网络安全
相关技术vSphere Distributed Switch、vSphere Standard SwitchvSphere Distributed Switch、vSphere Standard SwitchvSphere Distributed Switch、vSphere Standard SwitchTCP/IP、VLAN、QoS等防火墙、安全策略、VPN等
相关概念端口组、虚拟端口、物理网卡、虚拟交换机虚拟端口、物理网卡、虚拟交换机物理网卡、MAC地址、VLANVMkernel端口、物理网卡、虚拟交换机IP地址、子网掩码、网关、路由规则、策略、应用程序过滤、网络地址转换等

配置虚拟交换机

image.png
添加上行链路,及将物理网卡和虚拟交换机绑定
image.png

配置端口组

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
跟交换机绑定,端口组下虚拟机可以通过虚拟交换机【绑定的物理网卡】上网
image.png

ESXI中虚拟机安装

image.png
接下来安装步骤跟VMware Workstation Pro中操作基本一样

ikuai安装及配置

ikuai安装

根据官网自行安装:真实机-爱快 iKuai-商业场景网络解决方案提供商
安装完成后配置后台地址、LAN和WAN
image.png
其中wan1为直通网卡(网卡),用于连接光猫,进行ppoe拨号上网;lan1为网卡用于局域网上网
下面是WAN和LAN的介绍,以表格形式输出:

对比WAN(广域网)LAN(局域网)
定义跨越较大地理范围,连接多个局域网或单个计算机的网络限于较小的地理范围,连接同一地点的多个计算机的网络
范围跨越城市、地区、国家甚至跨越全球局限于同一建筑物、校园、企业或家庭
传输速率通常较慢,传输速率受到带宽、距离和网络拥堵等因素的影响通常较快,传输速率受到网络设备和电缆质量等因素的影响
连接方式使用公共或专用的传输媒介,如电话线、光缆、卫星等使用局域网技术,如以太网、Wi-Fi、蓝牙等
拓扑结构点对点、星型、环型等总线型、星型、树型等
安全性面临更多的安全威胁,需要采取更多的安全措施相对较为安全,可以采取较简单的安全措施
应用场景用于连接不同地点的计算机或网络,如互联网、VPN等用于连接同一地点的计算机或网络,如家庭网络、企业内部网络等

拨号、DDNS、端口映射

系统概况-爱快 iKuai-商业场景网络解决方案提供商

  1. 配置WAN进行ppoe拨号上网

image.png
image.png

  1. DDNS配置

由于家庭ppoe拨号公网ip会改变,需配置DDNS绑定域名,域名建议购买国外域名(不需备案)并将域名迁移到Just a moment…上进行管理
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
image.png

  1. 配置端口映射

当有需要暴露的服务,可以配置端口映射,通过域名+端口就能访问暴露到公网的服务
image.png

iStroreOS安装及配置

iStroreOS安装

image.png
虚拟机中添加现有硬盘,启动配置静态ip

vi /etc/config/network

iStroreOS配置旁路由

image.png
image.png

安装openclash

可参考旁路由配置OpenClash
openclash下载地址:https://github.com/vernesong/OpenClash/releases
其他梯子插件:https://github.com/AUK9527/Are-u-ok/tree/main/x86
下载好后上传手动安装:
image.png
命令行安装参考: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 上安装的插件,您可以通过以下步骤进行操作:

  1. 使用 SSH 或串口等工具登录到 OpenWrt 路由器。
  2. 在命令行界面中输入 opkg list-installed 命令,列出已经安装的所有软件包。
  3. 找到您要卸载的插件的名称,并记录下来。
  4. 在命令行界面中输入 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配置

  1. 新增共享文件夹

image.png

  1. 编辑配置nfs规则

image.png
image.png

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 文档

  1. 在ks后台创建企业空间

image.png

  1. 在企业空间中添加应用仓库

image.png
image.png

  1. 创建项目

image.png

  1. 进入项目创建应用

image.png image.png

  1. 查看安装配置

总览

参数描述默认值
nameOveridename overridenil
fullNameOveridefull name overridenil
global.imageRegistry仓库地址docker.io
global.imagePullSecrets私有仓库认证凭据nil
global.storageClass存储 scnil
ingress.enabled开启 ingresstrue
core.enabled开启 coretrue
koko.enabled开启 kokotrue
lion.enabled开启 liontrue
magnus.enabled开启 magnustrue
chen.enabled开启 chentrue
kael.enabled开启 kaeltrue
web.enabled开启 webtrue
xpack.enable开启 xpackfalse

必填

参数描述默认值
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.hostredisIP 地址nil
externalRedis.portredis 端口6379
externalRedis.passwordredis 密码nil

其他

参数描述默认值
log.level日志等级INFO
replicaCount副本数量1
persistence持久化存储相关设置nil
  1. 修改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
daocloudhttp://f1361db2.m.daocloud.io
Docker Toolbox 镜像源站https://developer.aliyun.com/…
Docker CE 镜像源站https://developer.aliyun.com/…

修改全局配置即可
image.png


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

文章来源:https://blog.csdn.net/weixin_45690643/article/details/135219411
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。