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

news2024/11/29 8:40:50

文章目录

  • 服务器搭建准备
  • 基础环境介绍
  • 展示效果
    • 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线程
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1348617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# PrinterSettings修改打印机纸张类型,paperType

需求:直接上图,PrinterSettings只能改变纸张大小,打印质量,无法更改打印纸类型 爱普生打印机打印照片已经设置了最高质量,打印图片仍不清晰,需要修改打印纸类型,使用PrintDialog调出对话框&…

普中STM32-PZ6806L开发板(HAL库函数实现-7段共阳数码管数字显示)

简介 通过操作GPIO输出电平实现驱动单个共阳数码管 0 ~ F的显示。电路原理图 数码管电路原理图 数码管与主芯片电路原理图 其他知识 1. 由原理图可知, 共阳极已接VCC, 所以只需要控制GPIO输出低电平就可以点亮7 . 的数码管了. 2. 驱动管与主芯片引脚对应关系A -> PC0…

Python学习笔记之(一)搭建Python 环境

搭建Python 环境 1. 使用工具准备1.1 Python 安装1.1.1 下载Python 安装包1.1.2 安装Python 1.2 VScode 安装1.2.1 下载VScode安装包1.2.2 给VScode安装Python 扩展 2. 第一次编写Python 程序 本篇文章以Windows 系统为例。 1. 使用工具准备 1.1 Python 安装 1.1.1 下载Pytho…

Java多线程之线程池,volatile,悲观锁,乐观锁,并发工具类

目录 1.线程池核心原理1.创建线程池2.任务拒绝策略3.自定义线程池 2.线程池的大小1.最大并行数2.影响线程池大小的因素 3.多线程常见考点(volatile,悲观锁,乐观锁)4.并发工具类 1.线程池核心原理 ①创建一个空的池子 ②提交任务时…

印象笔记01:初识印象笔记

印象笔记01:初识印象笔记 印象笔记是一个历史比较久的笔记软件,近几年营销渠道不断完善,软件生态也日渐健全。个人因为很早接触印象笔记,从有道云笔记转粉到印象笔记了(2017 年)。而且在前几年一下子开了十…

图像分割实战-系列教程3:unet医学细胞分割实战1(医学数据集、图像分割、语义分割、unet网络、代码逐行解读)

🍁🍁🍁图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 上篇内容: Unet系列算法 下篇内容: unet医学细胞分割实战2 1、医学细胞数据…

vite+Vue3学习笔记(3)——界面设计

1 Element-plus 这是一个基于Vue3的组件库,能够快速构建界面样式。 官网链接: https://element-plus.gitee.io/zh-CN/guide/design.html 1.1 基础组件 1.1.1 安装 项目中的终端输入: npm install --save element-plus 1.1.2 引用 1.1.2.1…

Spring Boot日志:从Logger到@Slf4j的探秘

写在前面 Hello大家好,今日是2024年的第一天,祝大家元旦快乐🎉 2024第一篇文章从SpringBoot日志开始 文章目录 一、前言二、日志有什么用?三、日志怎么用?四、自定义日志打印💬 常见日志框架说明4.1 在程序…

打印菱形和金字塔类型(总结)

首先,在之前的学习中,我们了解了菱形的打印,今天我们来对金字塔和菱形这类打印图形的问题,我们来做一个总结。 这个总结的来源是这今天做了一道题 这道题的答案如下 这个题做起来并不难,拓展到这类问题中,…

Java智慧工地管理平台系统源码带APP端源码

智慧工地将“互联网”的理念和技术引入建筑工地,从施工现场源头抓起,最大程度地收集人员、安全、环境、材料等关键业务数据,依托物联网、互联网,建立云端大数据管理平台,形成“端云大数据”的业务体系和新的管理模式&a…

PTA——计算火车运行时间

本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。 输入格式: 输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23&#xff0…

JavaScript:BOM操作

JavaScript:BOM操作 BOM与JavaScript的关系window对象window对象的常用属性方法定时器间歇函数延时函数 JavaScript执行机制同步异步事件循环 location对象navigator对象histroy对象浏览器的本地存储localStoragesessionStorage 复杂数据类型的存储JSON字符串 BOM与…

浅谈Verilog代码的执行顺序

一、组合逻辑和时序逻辑 数字电路可以分成两大类,一类叫组合逻辑电路,另一类叫做时序逻辑电路。 组合逻辑电路:由门电路组成,其某一时刻的输出状态只与该时刻的输入状态有关,而与电路原来的状态无关,并没有…

基于Java SSM框架实现健康管理系统项目【项目源码】

基于java的SSM框架实现健康管理系统演示 JSP技术 JSP是一种跨平台的网页技术,最终实现网页的动态效果,与ASP技术类似,都是在HTML中混合一些程序的相关代码,运用语言引擎来执行代码,JSP能够实现与管理员的交互&#xf…

AI模型私人订制

使用AI可以把你的脸换成明星的脸,可以用于直播、录播。 AI换脸1 也可以把视频中明星的脸换成你的脸 AI换脸2 之所以能够替换成功,是因为我们有一个AI人物模型,AI驱动这个模型就可以在录制视频的时候替换指定人物的脸。AI模型从哪里来&…

c++写入数据到文件中

假设你想编写一个C程序&#xff1a;当你在调试控制台输入一些数据时&#xff0c;系统会自动存入到指定的文件中&#xff0c;该如何操作呢&#xff1f; 具体操作代码如下&#xff1a; #include<iostream> #include<string> #include<fstream> using namespa…

Elasticsearch:在不停机的情况下优化 Elasticsearch Reindex

实现零停机、高效率和成功迁移更新的指南。更多阅读&#xff1a;Elasticsearch&#xff1a;如何轻松安全地对实时 Elasticsearch 索引 reindex 你的数据。 在使用 Elasticsearch 的时候&#xff0c;总会有需要修改索引映射的时候&#xff0c;遇到这种情况&#xff0c;我们只能做…

作业--day39

定义一个Person类&#xff0c;私有成员int age&#xff0c;string &name&#xff0c;定义一个Stu类&#xff0c;包含私有成员double *score&#xff0c;写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数&#xff0c;完成对Person的运算符重载(算术运算符、条件运算…

十八、任务通知

1、前言 (1)所谓“任务通知”&#xff0c;可以反过来读"通知任务"。我们使用队列、信号量、事件组等等方法时&#xff0c;并不知道对方是谁。使用任务通知时&#xff0c;可以明确指定&#xff1a;通知哪个任务。 (2)使用队列、信号量、事件组时&#xff0c;我们都需…

C++初阶——权限与继承

目录 一、C权限方面的问题 1.访问权限 2.继承机制 二、Cconst引用 const引用有以下几个特点 临时对象引用 常量引用成员变量 二、c引用空间相关问题 三.auto 一、C权限方面的问题 【C入门】访问权限管控和继承机制详解_权限继承功能-CSDN博客文章浏览阅读840次。(2)但…