KubeSphere部署安装,接入KubeKey安装的k8s集群
KubeSphere安装接入KubeKey安装的k8s集群
文章目录
前置部署参考:很简单的K8s集群部署方法-KubeKey自动化部署-CSDN博客
一.NFS安装配置
1.服务器安装NFS服务
这一步最好选择内存最大的那个集群节点进行操作此处只做演示
Ubuntu:
sudo apt update
sudo apt install nfs-kernel-server
Centos:
yum update
yum -y install nfs-utils
# 创建或使用用已有的文件夹作为nfs文件存储点
mkdir -p /home/data/nfs/share
vi /etc/exports
写入如下内容
/home/data/nfs/share *(rw,no_root_squash,sync,no_subtree_check)

# 配置生效并查看是否生效
exportfs -r
exportfs

# 启动rpcbind、nfs服务
#Centos
systemctl restart rpcbind && systemctl enable rpcbind
systemctl restart nfs && systemctl enable nfs
#Ubuntu
systemctl restart rpcbind && systemctl enable rpcbind
systemctl start nfs-kernel-server && systemctl enable nfs-kernel-server# 查看 RPC 服务的注册状况
rpcinfo -p localhost

# showmount测试
showmount -e localhost

以上都没有问题则说明安装成功
2.下载并部署 NFS Subdir External Provisioner
这一步必须在
k8s的控制节点上执行,即可以执行kubectl命令的节点
1).下载部署文件
cd /home
#下载压缩包
wget https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/archive/refs/tags/nfs-subdir-external-provisioner-4.0.18.zip
#下载后解压
unzip nfs-subdir-external-provisioner-4.0.18.zip
#进入文件目录
cd nfs-subdir-external-provisioner-nfs-subdir-external-provisioner-4.0.18/

2).创建 NameSpace
默认部署的命名空间为
default,便于管理部署的资源,一般会创建一个新的命名空间。
#创建Namespace
kubectl create ns nfs-system
- 替换部署文件中的命名空间名称
sed -i'' "s/namespace:.*/namespace: nfs-system/g" ./deploy/rbac.yaml ./deploy/deployment.yaml
检查是否替换
cd deploy/
cat deployment.yaml | grep "namespace"

3).创建 RBAC 资源
#执行目录在deploy/下
kubectl apply -f rbac.yaml
要检查您的 NFS 客户端 Provisioner 部署是否成功:
检查 ServiceAccount输出中是否包含 nfs-client-provisioner,确认 ServiceAccount 已经正确创建,:
kubectl get serviceaccount -n nfs-system

检查 RBAC 配置,确认 ClusterRole 和 ClusterRoleBinding 已创建:
kubectl get clusterrole | grep nfs-client-provisioner-runner
kubectl get clusterrolebinding | grep run-nfs-client-provisioner

确认 Role 和 RoleBinding 已创建:
kubectl get role -n nfs-system | grep leader-locking-nfs-client-provisioner
kubectl get rolebinding -n nfs-system | grep leader-locking-nfs-client-provisioner

4).配置 deployment.yaml
由于文件内默认的镜像是
registry.k8s.io镜像仓库的镜像nfs-subdir-external-provisioner:v4.0.2,所以大部分时候拉取会超时,所以最好改为自己私库的镜像地址。
搭建个人镜像仓库可参考:阿里云容器镜像服务搭一个自己的镜像仓库-CSDN博客
需要修改的内容:
image:,修改镜像地址,默认为registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
value: 10.3.243.101,修改NFS服务器的主机名或是IP地址,注意,如果是主机名,要确保每一个节点的主机名可以相互解析
如图:
value: /ifs/kubernetes,NFS 服务器导出的共享数据目录的路径,exportfs输出的路径。
以下是我修改好的deployment.yaml参考:
apiVersion: apps/v1
kind: Deployment
metadata:name: nfs-client-provisionerlabels:app: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfs-system
spec:replicas: 1strategy:type: Recreateselector:matchLabels:app: nfs-client-provisionertemplate:metadata:labels:app: nfs-client-provisionerspec:serviceAccountName: nfs-client-provisionercontainers:- name: nfs-client-provisionerimage: registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/nfs-subdir-external-provisioner:v4.0.2volumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: k8s-sigs.io/nfs-subdir-external-provisioner- name: NFS_SERVERvalue: 192.168.6.131- name: NFS_PATHvalue: /home/data/nfs/sharevolumes:- name: nfs-client-rootnfs:server: 192.168.6.131path: /home/data/nfs/share
-
执行部署命令
kubectl apply -f deployment.yaml检查是否部署成功
kubectl get deployment,pods -n nfs-system
5).部署 Storage Class
-
执行部署命令
#依旧是deploy/目录下 kubectl apply -f class.yaml -
检查是否部署成功
kubectl get sc
二.部署 KubeSphere
1.安装核心组件 KubeSphere Core
通过 helm 安装 KubeSphere 的核心组件 KubeSphere Core,命令如下:
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.com.cn/main/ks-core-1.1.3.tgz --debug --wait \
--set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks \
--set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks \
--set hostClusterName=k8s-paco
- hostClusterName:需要改成自己集群的名字,如果忘记可执行
kubectl config current-context查看,@后面的就是集群名字
- 两个 imageRegistry:修改组件镜像仓库地址,默认是
charts.kubesphere.io,可能无法访问,所以最好替换成国内地址:charts.kubesphere.com.cn
执行命令后等待安装完成:

2.安装完成后访问

如上图,安装完成后会输出访问的地址和账号密码。我们按如下地址访问。

首次登录会修改初始密码,提交后就能进入主界面。

三. KubeSphere简单了解和使用
在进入主界面后,点击集群管理就可以找到之前安装的集群。

可以收藏指快捷访问,然后进入集群,就可以看到集群的一些基本信息。

在应用负载中,可以看到该集群的pod,deployment,service等信息,也可对其Yaml文件进行修改。


然后还可以从他们提供的扩展市场,安装一些自己需要的插件。实现一些其他的功能。

可以看到 KubeSphere目前没有多少可选的应用,相比Rancher,后者可提供的应用选择就比较多了如下图。

但KubeSphere的好处就是,它有国内源作为支撑,相比Rancher,在部署和维护的时候拉取镜像会比较方便。并且Rancher作为老牌的,Kubernetes (K8s) 的开源管理平台。无论是使用人数和社区体量都比KubeSphere要广泛。所以大家可以自行选择。
发行时间对比
| 平台 | 首次发布时间 | Kubernetes 支持时间 | 当前状态 |
|---|---|---|---|
| Rancher | 2014 年 | 2016 年全面转向支持 Kubernetes | 成熟,SUSE 旗下 |
| KubeSphere | 2018 年 | 2018 年发布即全面支持 Kubernetes | 成熟,持续开源开发 |



其他可参考的,
k8s集群的部署方法(高可用版本)Kubeadm+Containerd+keepalived部署高可用k8s(v1.28.2)集群-CSDN博客
Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)-CSDN博客
Rancher(V2.6.3)安装K8s教程_cluster must have at least one etcd plane host: pl-CSDN博客
相关文章:
KubeSphere部署安装,接入KubeKey安装的k8s集群
KubeSphere安装接入KubeKey安装的k8s集群 文章目录 KubeSphere安装接入KubeKey安装的k8s集群 一.NFS安装配置1.服务器安装NFS服务2.下载并部署 NFS Subdir External Provisioner1).下载部署文件2).创建 NameSpace3).创建 RBAC 资源4).配置 deployment.yaml5).部署 Storage Clas…...
Object常用的方法及开发中的使用场景
在前端开发中,Object 对象提供了许多常用的方法,这些方法帮助我们操作对象的属性和结构。以下是常用的 Object 方法及其功能简要说明: 对象常用的方法 1. 创建对象 Object.create(proto[, propertiesObject]) 创建一个具有指定原型对象和属性…...
SQL2000在win10上安装的方法
安装前最好先关闭防火墙和一些杀毒软件,因为这些软件在安装过程中可能会碰到注册表等一下杀毒软件比较敏感的地带,如果违反杀毒软件的规则会被当做病毒强行终止删除 首相找到C盘下window文件中的sysWOW64文件 鼠标右键,点击属性、安全、高级 …...
Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 模态对话框 非模态对话框 文件对话框 基本概念 静态函数 常见属性 颜色对话框 基本概念 静态函数 常见属性 字体对话框 基本概念 静态函数 常见属性 输入对话框 基本概念 …...
Java语言的数据结构
Java语言中的数据结构 引言 在计算机科学中,数据结构是指一种特定的方式来组织和存储数据,以便能够高效地进行访问和修改。Java作为一种广泛使用的编程语言,其内置的数据结构和集合框架为程序员提供了便利的工具来管理数据。本文将深入探讨…...
【12】Word:张老师学术论文❗
目录 题目 NO2 NO3 NO4 NO5 NO6 NO7.8 题目 NO2 布局→页面设置→纸张:A4→页边距:上下左右边距→文档网格:只指定行网格→版式:页眉和页脚:页脚距边界:1.4cm居中设置论文页码:插入…...
大疆最新款无人机发布,可照亮百米之外目标
近日,DJI 大疆发布全新小型智能多光旗舰 DJI Matrice 4 系列,包含 Matrice 4T 和 Matrice 4E 两款机型。DJI Matrice 4E 价格为27888 元起,DJI Matrice 4T价格为38888元起。 图片来源:大疆官网 DJI Matrice 4E DJI Matrice 4T D…...
《小迪安全》学习笔记05
目录 读取: 写入: (其中的读取和写入时我认为比较重要的,所以单独做成了目录,这里的读取和写入是指在进行sql注入的时候与本地文件进行的交互) 好久没发博客了。。。从这篇开始的小迪安全学习笔记就开始…...
56_多级缓存实现
1.查询Tomcat 拿到商品id后,本应去缓存中查询商品信息,不过目前我们还未建立Nginx、Redis缓存。因此,这里我们先根据商品id去Tomcat查询商品信息。此时商品查询功能的架构如下图所示。 需要注意的是,我们的OpenResty是在虚拟机,Tomcat是在macOS系统(或Windows系统)上,…...
每日进步一点点(网安)
今日练习题目是PHP反序列化,也学习一下说明是序列化和反序列化 1.PHP序列化 序列化是指将数据结构或对象转换为可传输或可储存的格式的过程。这通常需要将数据转换为字节流或者其他编码格式,以便在不同系统和应用程序之间进行传输或存储 在PHP中&…...
宝塔php7.4安装报错,无法安装,php8以上可以安装,以下的不行,gd库什么的都正常
宝塔的依赖问题导致的问题,最后手动挂载后才解决。。。废了三天三夜终于搞好了。。。。无语~ 建议:不要一直升级宝塔版本,升级前备份或者开服务商的实例镜像,方便恢复,不然,可就GG了࿵…...
SDL2:PC端编译使用
SDL2:PC端编译使用 1. SDL2:PC端编译使用1.1 安装必要的依赖1.2 下载编译SDL21.3 SDL2使用示例:Audio1.4 运行示例程序 1. SDL2:PC端编译使用 1.1 安装必要的依赖 首先,确保安装了编译SDL2所需的依赖库: …...
Windows 蓝牙驱动开发-蓝牙设备栈
蓝牙设备栈 蓝牙驱动程序堆栈包含 Microsoft 为蓝牙协议提供支持的核心部分。 有了这个堆栈,已启用蓝牙的设备可以彼此定位并建立连接。 在此类连接中,设备可以通过各种应用程序交换数据并彼此交互。 下图显示了蓝牙驱动程序堆栈中的模块,以…...
docker一张图理解
1、push 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。参数说明: –disable-content-trust : 忽略镜像的校验,默认开启 # 上传本地镜像myapache:v1到镜像仓库中。 docker push myapache:v1 1.2、search 从Docker Hub查找镜像。参数说明: –…...
RocketMQ、Kafka、RabbitMQ,如何选型?
如何根据应用场景选择合适的消息中间件? 分布式、微服务、高并发架构中,消息队列(Message Queue,简称MQ)扮演着至关重要的角色。 消息队列用于实现系统间的异步通信、解耦、削峰填谷等功能。 目前常见的MQ实现包括RabbitMQ、Rock…...
RabbitMQ故障全解析:消费、消息及日常报错处理与集群修复
文章目录 前言:1 消费慢2 消息丢失3 消息重复消费4 日常报错及解决4.1 报错“error in config file “/etc/rabbitmq/rabbitmq.config” (none): no ending found”4.2 生产者发送消息报错4.3 浏览器打开IP地址,无法访问 RabbitMQ(白屏没有结…...
无公网IP 实现外网访问本地 Docker 部署 Navidrome
Navidrome 是一款可以在 macOS、Linux、Windows以及 Docker 等平台上运行的跨平台开源音乐服务器应用,它支持传输常见的 MP3、FLAC、WAV等音频格式。允许用户通过 Web 界面或 API 进行音乐库的管理和访问。本文就介绍如何快速在 Linux 系统使用 Docker 进行本地部署…...
pnpm add 和 pnpm install 的区别?
文章目录 1. pnpm add2. pnpm install3. 总结应用场景示例 在使用 pnpm 管理项目依赖时, pnpm add 和 pnpm install 是两个常用的命令,但它们的功能和使用场景有所不同。以下是详细的解释: 1. pnpm add 功能:用于向项目的 pack…...
Linux:文件描述符fd、系统调用open
目录 一、文件基础认识 二、C语言操作文件的接口 1.> 和 >> 2.理解“当前路径” 三、相关系统调用 1.open 2.文件描述符 3.一切皆文件 4.再次理解重定向 一、文件基础认识 文件 内容 属性。换句话说,如果在电脑上新建了一个空白文档࿰…...
CPU负载与CPU使用率之区别
在日常的性能测试与系统监控中,CPU负载和CPU使用率是两个常见的指标,它们经常被提及,但也经常被混淆。本文将为你深入解析两者的区别,以及它们各自的意义和应用场景,让你更清楚地掌握这些关键性能指标。 存储、内存和 …...
ThinkPad开机报错0183/0253?别慌,手把手教你搞定EFI变量错误(附BIOS重置教程)
ThinkPad开机报错0183/0253?EFI变量错误全面解决方案当你按下ThinkPad的电源键,期待熟悉的开机画面时,屏幕上却突然跳出一串神秘代码——"0183: Bad CRC of Security Settings in EFI Variable"或"0253: EFI Variable Block D…...
告别FTP龟速:用NTFS-3G在CentOS7上直连移动硬盘拷贝200G大文件
告别FTP龟速:用NTFS-3G在CentOS7上直连移动硬盘拷贝200G大文件当面对数百GB的设计素材、日志文件或数据库备份需要迁移时,传统的FTP传输往往会成为效率瓶颈。我曾在一个视频处理项目中,需要将230GB的4K原始素材从移动硬盘导入服务器ÿ…...
Transient、QuickEye、VerifyEye傻傻分不清?一文讲透Ansys里三种眼图仿真方法的适用场景与避坑指南
Transient、QuickEye、VerifyEye深度解析:Ansys眼图仿真技术选型实战指南 在高速数字系统设计中,眼图分析是评估信号完整性的黄金标准。面对Ansys工具链中三种截然不同的眼图生成方法,工程师常常陷入选择困境——是追求精确度的传统瞬态分析&…...
基于可解释机器学习的城市人口流动空间降尺度分析实践
1. 项目概述:从宏观到微观,解码城市脉搏在城市的肌理中,人口的流动如同血液的循环,承载着经济活力、社会互动与空间结构的全部信息。无论是城市规划师优化公交线路,还是商业分析师评估店铺选址,亦或是公共卫…...
Web渗透测试能力成长地图:从工具使用到漏洞认知跃迁
1. 这不是工具清单,而是一张Web渗透测试的“能力成长地图”你刚点开这篇文章,大概率正站在两个路口之间:一边是网上铺天盖地的“十大免费扫描器推荐”,点进去全是截图下载链接一句“一键扫漏洞”,结果装完跑两下&#…...
终极键盘重映射解决方案:3分钟实现职业级游戏操作精度
终极键盘重映射解决方案:3分钟实现职业级游戏操作精度 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在激烈的游戏对抗中,你是否曾因键盘按键冲突而错失关键操作?当同时按下…...
TorchDynamo与TorchInductor:PyTorch编译器生态的完整解析
TorchDynamo与TorchInductor:PyTorch编译器生态的完整解析 【免费下载链接】torchdynamo A Python-level JIT compiler designed to make unmodified PyTorch programs faster. 项目地址: https://gitcode.com/gh_mirrors/to/torchdynamo TorchDynamo 是一个…...
Windows Cleaner:终极免费系统清理工具,彻底解决C盘空间不足问题
Windows Cleaner:终极免费系统清理工具,彻底解决C盘空间不足问题 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到C盘爆红、…...
DAIR-V2X-V数据集深度评测:与KITTI、nuScenes比,它到底强在哪?
DAIR-V2X-V数据集深度评测:与KITTI、nuScenes比,它到底强在哪? 当技术团队着手开发面向中国道路的自动驾驶系统时,数据集的选择往往成为第一个关键决策点。过去十年间,KITTI和nuScenes等国际数据集一直是行业标杆&…...
告别坐标点击!用Poco精准定位UI控件,让你的Airtest安卓自动化脚本更稳定
告别坐标点击!用Poco精准定位UI控件,让你的Airtest安卓自动化脚本更稳定每次UI微调就导致脚本大面积失效?分辨率变化让精心编写的自动化测试瞬间崩溃?作为从坐标点击转型到控件识别的实践者,我深刻理解这种挫败感。三年…...


