【K8s】1# 使用kuboard-spray安装K8s集群
文章目录
- 搭建k8s集群
- 1.推荐配置
- 1.1.服务器配置
- 1.2.软件版本
- 2.使用`Kuboard-Spray`安装k8s集群
- 2.1.配置要求
- 2.2.操作系统兼容性
- 2.3.安装 Kuboard-Spray
- 2.4.加载离线资源包
- 2.5.规划并安装集群
- 2.6.安装成功
- 2.7.访问集群
- 3.涉及的命令
- 3.1.linux
- 4.问题汇总
- Q1:启动离线集群安装报错
- Q2.操作系统不支持(升级内核)
搭建k8s集群
前提是各节点已经安装了docker
1.推荐配置
1.1.服务器配置
| 节点 | 服务 | 配置 | 备注 |
|---|---|---|---|
| node1 | 192.168.33.102 | 2C4G | kuboard-spray、kuboard |
| node2 | 192.168.33.103 | 2C4G | master、etcd、worker |
| node3 | 192.168.33.104 | 2C4G | master、etcd、worker |
| node4 | 192.168.33.105 | 2C4G | master、etcd、worker |
| node5 | 192.168.33.106 | 2C4G | worker |
1.2.软件版本
| 软件 | 版本 | 备注 |
|---|---|---|
| Docker | 20.10.9, | |
| Kubernetes | v1.23.4 | |
| kuboard-spray | v1.2.4-amd64 | k8s 集群安装工具 |
| kuboard | v3.3.0.0 | k8s集群管理工具 |
2.使用Kuboard-Spray安装k8s集群
使用Kuboard-Spray安装k8s
Kuboard-Spray 是一款可以在图形界面引导下完成 Kubernetes 高可用集群离线安装的工具
2.1.配置要求
- 至少 2 台 2核4G 的服务器
- 本文档中,CPU 必须为 x86 架构,暂时未适配 arm 架构的 CPU
CentOS 7.8、CentOS 7.9或Ubuntu 20.04
2.2.操作系统兼容性
| Centos版本 | 本文档是否兼容 | 备注 |
|---|---|---|
| Centos 7.8 | ✔ | 已验证 |
| Centos 7.9 | ✔ | 已验证 |
| Ubuntu 20.04 | ✔ | 已验证 |
2.3.安装 Kuboard-Spray
- 取一台服务器或虚拟机,执行一条命令,即可完成
Kuboard-Spray的安装。 - 对这台服务器的最低要求为:
1核2G不少于 10G 磁盘空余空间
已经安装好 docker
- 待执行的命令如下:
docker run -d \--restart=unless-stopped \--name=kuboard-spray \-p 80:80/tcp \-e TZ=Asia/Shanghai \-v /var/run/docker.sock:/var/run/docker.sock \-v ~/kuboard-spray-data:/data \eipwork/kuboard-spray:v1.2.4-amd64# 如果抓不到这个镜像,可以尝试一下这个备用地址:# swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard-spray:latest-amd64
持久化
KuboardSpray的信息保存在容器的/data路径,请将其映射到一个您认为安全的地方,上面的命令中,将其映射到了~/kuboard-spray-data路径;- 只要此路径的内容不受损坏,重启、升级、重新安装
Kuboard-Spray,或者将数据及Kuboard-Spray迁移到另外一台机器上,> 您都可以找回到原来的信息。
注意: 这里为何使用eipwork/kuboard-spray:v1.2.4-amd64这个版本?因为官网推荐的版本安装失败–问题Q1

- 在浏览器打开地址
http://这台机器的IP,输入用户名admin,默认密码Kuboard123,即可登录Kuboard-Spray界面

2.4.加载离线资源包
因为我们的容器引擎是 docker20,所以选这个(
按需加载资源包)
如果不想自己踩坑,建议和我一样:如下资源包 ↓
- 在 Kuboard-Spray 界面中,导航到 系统设置 --> 资源包管理 界面,可以看到已经等候您多时的 Kuboard-Spray 离线资源包,如下图所示

- 点击 导 入 按钮,在界面的引导下完成资源包的加载。
注意:这里有个坑,切莫使用当前大版本中最新小版本:
- 比如最开始我导入的资源包如下 适用于
docker20.10的最新版本kuborad-spray,结果最后安装k8s集群的时候,死活装不上
- 最终使用如下版本,成功完成安装(
建议大家在尝试新玩具时,最好别用最新的,节省时间,珍爱生命)
- 权限问题
- 导入资源包时,可能会碰到
no such file or directory或者permission denied之类的错误提示,通常是因为您开启了SELinux,导致kuboard-spray不能读取映射到容器/data的路径- 离线导入
- 如果您处在内网环境,上图中的列表默认将是空的,请注意其中的 离线加载资源包 按钮,它可以引导您轻松完成资源包的离线加载过程。
2.5.规划并安装集群
-
在
Kuboard-Spray界面中,导航到 集群管理 界面,点击界面中的 添加集群安装计划 按钮,填写表单如下:- 集群名称: 自定义名称,本文中填写为 kuboard123;
- 资源包:选择前面步骤中导入的离线资源包。

- 点击上图对话框中的 确定 按钮后,将进入集群规划页面,在该界面中添加您每个集群节点的连接参数并设置节点的角色,如下图所示:
重要: kuboard-spray 所在机器不能当做 K8S 集群的一个节点,因为安装过程中会重启集群节点的容器引擎,这会导致 kuboard-spray 被重启掉。


- 点击上图的 保存 按钮,再点击 执行 按钮,可以启动集群的离线安装过程,如下图所示:
2.6.安装成功

2.7.访问集群
-
如果集群日志界面提示您集群已经安装成功,此时您可以返回到集群规划页面,此界面将自动切换到 访问集群 标签页,如下图所示:
界面给出了三种方式可以访问 kubernetes 集群:
- 在集群主节点上执行 kubectl 命令
- 获取集群的 .kubeconfig 文件
- 将集群导入到 kuboard管理界面

3.涉及的命令
3.1.linux
- 查看操作系统是centos还是ubuntu
cat /etc/redhat-release
4.问题汇总
Q1:启动离线集群安装报错

解决:安装
v1.2.4-amd64这个版本docker hub最新的
docker run -d \--restart=unless-stopped \--name=kuboard-spray \-p 80:80/tcp \-e TZ=Asia/Shanghai \-v /var/run/docker.sock:/var/run/docker.sock \-v ~/kuboard-spray-data:/data \eipwork/kuboard-spray:v1.2.4-amd64# 如果抓不到这个镜像,可以尝试一下这个备用地址:# swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard-spray:latest-amd64
Q2.操作系统不支持(升级内核)
芭比Q了 所有节点重装系统? no、no、no 别着急,我们直接升级内核就行,看下面操作

解决:升级 centos内核,把7.5 升级到最新 7.9即可解决
yum会把下载的软件包和eader存储在cache中,而不自动删除。所以需要先使用yum clean all命令清除缓存。yum clean all- 然后使用
yum update命令升级所有包、软件和系统内核。该操作有风险,请注意备份数据yum update- 期间会有询问你是否安装,有三个选项供你选择,输入
y即可,然后开始自动下载安装- 更新安装完后,重启系统
reboot- 验证
# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)
相关文章:
【K8s】1# 使用kuboard-spray安装K8s集群
文章目录 搭建k8s集群1.推荐配置1.1.服务器配置1.2.软件版本 2.使用Kuboard-Spray安装k8s集群2.1.配置要求2.2.操作系统兼容性2.3.安装 Kuboard-Spray2.4.加载离线资源包2.5.规划并安装集群2.6.安装成功2.7.访问集群 3.涉及的命令3.1.linux 4.问题汇总Q1:启动离线集…...
leetCode算法—12. 整数转罗马数字
12. 整数转罗马数字 难度:中等 ** 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即…...
使用OpenCV4实现工业缺陷检测的六种方法
目录 1 机器视觉2 缺陷检测3 工业上常见缺陷检测方法 1 机器视觉 机器视觉是使用各种工业相机,结合传感器跟电气信号实现替代传统人工,完成对象识别、计数、测量、缺陷检测、引导定位与抓取等任务。其中工业品的缺陷检测极大的依赖人工完成,…...
Excel 获取当前行的行数
ROW() 获取当前行 ROW()1 获取当前行然后支持二次开发...
R语言【stringr】——str_detect 检测是否存在字符串的匹配项
Package stringr version 1.5.1 str_detect(string, pattern, negate FALSE) 参数【string】:输入向量。既可以是字符向量,也可以是强制作为一个字符向量。 参数【pattern】:要寻找的模式。默认解释为正则表达式,如 vignette(&…...
【SpringMVC】SpringMVC的请求与响应
文章目录 0. Tomcat环境的配置1. PostMan工具介绍创建WorkSpace建立新的请求 2. 请求映射路径案例结构与代码案例结构案例代码 案例存在问题解决方案方法方法升级版——配置请求路径前缀注解总结 3. Get请求与Post请求案例结构与案例代码案例结构案例代码 Get请求Post请求接收中…...
Spring Boot3通过GraalVM生成exe执行文件
一、安装GraalVM 1、官网:https://www.graalvm.org/downloads/ 2、配置环境变量 2.1、环境变量必须使用JAVA_HOME,否则会出现问题 2.2、在系统变量配置Path,%JAVA_HOME%\bin,注意必须放在顶部第一位 2.3、配置jdk的环境变量,在P…...
【Amazon 实验②】使用缓存策略及源请求策略,用于控制边缘缓存的行为及回源行为
文章目录 1. 了解缓存策略和源请求策略1.1 使用缓存键和缓存策略 实验:使用CloudFront缓存策略和缓存键控制缓存行为 接上一篇文章【Amazon 实验①】使用 Amazon CloudFront加速Web内容分发,我们现在了解和配置如何使用缓存策略及源请求策略,…...
达梦数据对比工具的部署与使用
1、拷贝达梦软件bin目录到Oracle服务器(root用户) 压缩Linux rh6 x86版本的达梦数据库bin目录,例如压缩文件为dmbin.tar.gz,将文件拷贝到Oracle服务器指定目录并解压(如:/home/oracle/dmbin)&a…...
TLC2543(12位A/D转换器)实现将输入的模拟电压显示到数码管上
代码: #include <reg51.h> #define uchar unsigned char #define uint unsigned int// 数码管0-9 unsigned char seg[] {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; sbit SDO P1^0; sbit SDI P1^1; sbit CS P1^2; sbit CLK P1^3; s…...
npm的使用技巧
以下是一些NPM(Node Package Manager)的使用技巧: 1. **获取帮助**: - 使用 npm help 或者 npm <command> --help 可以获取关于特定命令的帮助信息。 2. **命令自动完成**: - 在 Bash、Zsh 等 shell 中&…...
MySQL 5.6的新特性
MySQL 5.6是一个主要的版本发布,它在性能、可伸缩性、可靠性和可用性方面引入了多项重要改进和新特性。它在2013年发布,相比于它的前身MySQL 5.5,MySQL 5.6带来了以下关键升级: 优化的InnoDB存储引擎:MySQL 5.6中的Inn…...
大模型重构云计算:AI原生或将改变格局
摘要:随着AI技术的快速发展,大模型正逐渐改变云计算的格局。本文将深入探讨大模型如何重构云计算,并分析其对云计算的影响。 一、开篇引言 近年来,人工智能技术的飞速发展,特别是大模型的崛起,正在对云计算…...
一文讲清什么是TypeScript装饰器以及如何使用TypeScript装饰器
TypeScript 装饰器是什么? 装饰器(Decorator)是TypeScript提供的一个高级语法,它类似于一种特殊类型的声明,可以附加到类声明,方法,访问符,属性或参数上。装饰器主要以函数的形式出…...
恶意软件样本行为分析——Process Monitor和Wireshark
1.1 实验名称 恶意软件样本行为分析 1.2 实验目的 1) 熟悉 Process Monitor 的使用 2) 熟悉抓包工具 Wireshark 的使用 3) VMware 的熟悉和使用 4) 灰鸽子木马的行为分析 1.3 实验步骤及内容 第一阶段:熟悉 Process Monitor 的使用 利用 Process …...
【XR806开发板试用】通过http请求从心知天气网获取天气预报信息
1. 开发环境搭建 本次评测开发环境搭建在windows11的WSL2的Ubuntu20.04中,关于windows安装WSL2可以参考文章: Windows下安装Linux(Ubuntu20.04)子系统(WSL) (1) 在WSL的Ubuntu20.04下安装必要的工具的. 安装git: sudo apt-get install git …...
NPM介绍与使用
什么是NPM? NPM(Node Package Manager)是一个强大的包管理工具,专门用于Node.js应用程序的依赖管理。它允许开发者轻松地分享、安装、更新和管理项目中使用的库、工具和框架。 NPM的安装 在使用NPM之前,请确保你的机…...
servlet +thymeleaf渲染引擎
servlet thymeleaf渲染引擎 一、maven坐标 <dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><version>3.0.12.RELEASE</version> <!-- 使用适当的Thymeleaf版本 --> </dependency> &…...
10分钟了解nextTick,并实现简易版本的nextTick
在 Vue.js 中,有一个特殊的方法 nextTick,它在 DOM 更新后执行一段代码,起到等待 DOM 绘制完成的作用。本文会详细介绍 nextTick 的原理和使用方法,并实现一个简易版的 nextTick,加深对它的理解。 一. 什么是 nextTic…...
oracle表空间对象迁移到其他表空间
oracle数据库的磁盘空间满了,除了简单粗暴的增加磁盘空间外,还可以缩小表空间的datafile,因为正常业务运行中,表数据的删除和增加,会造成表空间里面里面有很多空的地方。方案有很多种,我这里简单介绍一下&a…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...



