KubeSphere部署安装,接入KubeKey安装的k8s集群

KubeSphere安装接入KubeKey安装的k8s集群

文章目录

    • KubeSphere安装接入KubeKey安装的k8s集群
      • 一.`NFS`安装配置
        • 1.服务器安装NFS服务
        • 2.下载并部署 `NFS Subdir External Provisioner`
          • 1).下载部署文件
          • 2).创建 `NameSpace`
          • 3).创建 `RBAC` 资源
          • 4).配置 `deployment.yaml`
          • 5).部署 `Storage Class`
      • 二.部署 `KubeSphere`
        • 1.安装核心组件 KubeSphere Core
        • 2.安装完成后访问
      • 三. `KubeSphere`简单了解和使用

前置部署参考:很简单的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)

image-20230913174358481

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

image-20230913174639129

# 启动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

image-20230913175507036

# showmount测试
showmount -e localhost

image-20230913175649184

以上都没有问题则说明安装成功

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/

image-20250117112421402

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"

image-20250117114444415

3).创建 RBAC 资源
#执行目录在deploy/下
kubectl apply -f rbac.yaml

要检查您的 NFS 客户端 Provisioner 部署是否成功:

检查 ServiceAccount输出中是否包含 nfs-client-provisioner,确认 ServiceAccount 已经正确创建,:

kubectl get serviceaccount -n nfs-system

image-20250117115209278

检查 RBAC 配置,确认 ClusterRoleClusterRoleBinding 已创建:

kubectl get clusterrole | grep nfs-client-provisioner-runner
kubectl get clusterrolebinding | grep run-nfs-client-provisioner

image-20250117115222406

确认 RoleRoleBinding 已创建:

kubectl get role -n nfs-system | grep leader-locking-nfs-client-provisioner
kubectl get rolebinding -n nfs-system | grep leader-locking-nfs-client-provisioner

image-20250117115233624

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 地址,注意,如果是主机名,要确保每一个节点的主机名可以相互解析
    如图:image-20250117135142180

  • 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
    

    image-20250117135645099

5).部署 Storage Class
  • 执行部署命令

    #依旧是deploy/目录下
    kubectl apply -f class.yaml
    
  • 检查是否部署成功

    kubectl get sc
    

    image-20250117135916721

二.部署 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查看,@后面的就是集群名字
    image-20250117141224321
  • 两个 imageRegistry:修改组件镜像仓库地址,默认是charts.kubesphere.io,可能无法访问,所以最好替换成国内地址:charts.kubesphere.com.cn

执行命令后等待安装完成:

image-20250117141433696

2.安装完成后访问

image-20250117141448558

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

image-20250117141607848

image-20250117141626426

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

image-20250117141715524

三. KubeSphere简单了解和使用

在进入主界面后,点击集群管理就可以找到之前安装的集群。

image-20250117141846018

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

image-20250117142317132

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

image-20250117142704872

image-20250117142857819

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

image-20250117142959166

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

image-20250117143613851

KubeSphere的好处就是,它有国内源作为支撑,相比Rancher,在部署和维护的时候拉取镜像会比较方便。并且Rancher作为老牌的,Kubernetes (K8s) 的开源管理平台。无论是使用人数和社区体量都比KubeSphere要广泛。所以大家可以自行选择。

发行时间对比

平台首次发布时间Kubernetes 支持时间当前状态
Rancher2014 年2016 年全面转向支持 Kubernetes成熟,SUSE 旗下
KubeSphere2018 年2018 年发布即全面支持 Kubernetes成熟,持续开源开发

image-20250117144252797

image-20250117144307796

其他可参考的,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博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis性能优化参考——筑梦之路

基准性能测试 redis响应延迟耗时多长判定为慢? 比如机器硬件配置比较差,响应延迟10毫秒,就认为是慢,机器硬件配置比较高,响应延迟0.5毫秒,就认为是慢。这个没有固定的标准,只有了解了你的 Red…

财务RPA就是财务机器人吗?有什么作用

近年来,财务RPA(机器人流程自动化)逐渐成为财务领域的热门话题。很多人初次听到“财务RPA”时,可能会疑惑:财务RPA是不是财务机器人?它到底能做什么?带着这些问题,我们一起来探讨财务…

RabbitMQ---事务及消息分发

(一)事务 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制,所以RabbitMQ也支持事务机制,他的事务允许开发者确保消息的发送和接收时原子性的,要么全部成功,要么全部失败 我们设置事务有三步…

Django简介与虚拟环境安装Django

目录 1.Django简介 1.1 Django 的核心特点 1.2 Django 的核心组件 1.3 Django 的应用场景 1.4 总结 2.基础环境建立 2.1 创建虚拟环境 2.1.1 使用 virtualenv 创建虚拟环境 2.1.2 使用 venv 创建虚拟环境 2.2 激活虚拟环境 2.2.1 在 Windows 上 2.2.2 在 macOS 或 …

计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

vue+高德API搭建前端3D交通页面

1. 模板部分 (<template>) <template><div class"content"><div><div id"container"></div></div></div> </template> 功能&#xff1a;定义了组件的HTML结构。分析&#xff1a; div.content 是最…

第十三章:数据库技术

文章目录&#xff1a; 一&#xff1a;基础 1.概念 2.特点 3.常见数据库品牌 4.数据库应⽤系统 4.1 C/S 4.2 B/S 5.数据模型的分类 6.名词解析 7.关系运算 二&#xff1a;Access 1.基础 2.操作 2.1 建立表 2.2 维护表 2.3 创建查询 2.4 创建窗体 2.5 创建报表…

《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答&#xff1a; 问&#xff1a;《汽车维护与修理》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《汽车维护与修理》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;中国汽车维修行业协会 …

31、【OS】【Nuttx】OSTest分析(1):stdio测试(一)

背景 接上篇wiki 30、【OS】【Nuttx】构建脚本优化&#xff0c;引入待构建项目参数 最小系统分析完后&#xff0c;下一个能够更全面了解Nuttx的Demo&#xff0c;当然选择OSTest&#xff0c;里面有大量关于OS的测试用例&#xff0c;方便对Nuttx的整体功能有个把握。 stdio_tes…

Ubuntu 24.04 LTS 安装 Docker Desktop

Docker 简介 Docker 简介和安装Ubuntu上学习使用Docker的详细入门教程Docker 快速入门Ubuntu版&#xff08;1h速通&#xff09; Docker 安装 参考 How to Install Docker on Ubuntu 24.04: Step-by-Step Guide。 更新系统和安装依赖 在终端中运行以下命令以确保系统更新并…

Elasticsearch 和arkime 安装

安装一定要注意版本号&#xff0c;不然使用不了 这里Ubuntu使用ubuntu-20.04.6-desktop-amd64.iso elasticsearch这里使用Elasticsearch 7.17.5 | Elastic arkime这里使用wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/arkime_3.4.2-1_amd64.deb 大家想…

C语言之整数转换英文表示

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 整数转换英文表示 摘要&#xff1a;本文设计了一种基于C语言的数字到英文表示的转换程序&am…

战场物联网:通信挑战与最新解决方案综述

论文标题 The Internet of Battle Things: A Survey on Communication Challenges and Recent Solutions 作者信息 Rachel Kufakunesu, Herman Myburgh, Allan De Freitas 论文出处 Discover Internet of Things (2025) 5:3 | The internet of battle things: a survey on…

【2024年华为OD机试】 (B卷,100分)- 路灯照明问题(Java JS PythonC/C++)

一、问题描述 路灯照明问题 题目描述 在一条笔直的公路上安装了 ( N ) 个路灯&#xff0c;从位置 0 开始安装&#xff0c;路灯之间间距固定为 100 米。每个路灯都有自己的照明半径。请计算第一个路灯和最后一个路灯之间&#xff0c;无法照明的区间的长度和。 输入描述 第一…

将n变为一个可以被表示为2^{a}+2^{b}的正整数m

给出一个正整数n&#xff0c;需要将n变为一个可以被表示为的正整数m&#xff0c;其中a和b都是非负整数且a!b&#xff0c;你可以进行两种操作&#xff1a; 1.令n加1 2.令n减1 请你求出最少需要多少次操作才能将n变成满足条件的m。 输入格式 输入一个整数&#xff0c;代表n。…

ARM学习(42)CortexM3/M4 MPU配置

笔者之前学习过CortexR5的MPU配置,现在学习一下CortexM3/M4 MPU配置 1、背景介绍 笔者在工作中遇到NXP MPU在访问异常地址时,就会出现总线挂死,所以需要MPU抓住异常,就需要配置MPU。具体背景情况可以参考ARM学习(41)NXP MCU总线挂死,CPU could not be halted以及无法连…

大语言模型的语境中“越狱”和思维链

大语言模型的语境中“越狱”和思维链 越狱(Jailbreaking) 含义:在大语言模型的语境中,“越狱”是指用户试图绕过语言模型的安全限制和使用规则,让模型生成违反伦理道德、包含有害内容(如暴力、歧视、恶意软件代码等)的输出。这些安全限制是由模型开发者设置的,目的是确…

AI时代下 | 通义灵码冲刺备战求职季

AI时代下 | 通义灵码冲刺备战求职季 什么是通义灵码使用智能编程助手备战求职靠谱吗体验心得 AI时代下&#xff0c;备战求职季有了不一样的方法&#xff0c;使用通义灵码冲刺备战求职季&#xff0c;会有什么样的体验&#xff1f; 什么是通义灵码 在开始话题之前&#xff0c;首…

PHP企业IM客服系统

&#x1f4ac; 企业IM客服系统——高效沟通&#xff0c;无缝连接的智慧桥梁 &#x1f680; 卓越性能&#xff0c;释放无限可能 在瞬息万变的商业环境中&#xff0c;我们深知沟通的力量。因此&#xff0c;基于先进的ThinkPHP5框架与高性能的Swoole扩展&#xff0c;我们匠心独运…

华为HuaweiCloudStack(一)介绍与架构

本文简单介绍了华为HCS私有云解决方案&#xff0c;并从下至上介绍HCS的整体架构&#xff0c;部署架构、部署方式等内容。 目录 HCS简介 HCS架构 纵向结构 ?管理平台类型 HCS节点类型 FusionSphere OpenStack CPS ServiceOM SC 运营面 OC 运维面 HCS部署架构 regi…