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-provisioner
  labels:
    app: nfs-client-provisioner
  # replace with namespace where provisioner is deployed
  namespace: nfs-system
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nfs-client-provisioner
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-client-provisioner
          image: registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/nfs-subdir-external-provisioner:v4.0.2
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: k8s-sigs.io/nfs-subdir-external-provisioner
            - name: NFS_SERVER
              value: 192.168.6.131
            - name: NFS_PATH
              value: /home/data/nfs/share
      volumes:
        - name: nfs-client-root
          nfs:
            server: 192.168.6.131
            path: /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博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从密码学原理与应用新方向到移动身份认证与实践

相关学习资料放下面啦! 记得关注❤️~后续分享更多资料 通过百度网盘分享的文件:从密码学原理与应... 链接https://pan.baidu.com/s/1mHpHkvPuf8DUwReQkoYQlw?pwdGza7 提取码:Gza7 复制这段内容打开「百度网盘APP 即可获取」 记…

Java 特殊文件、 properties文件、xml文件

一. 属性文件.properties 1. #注释 2. 内容都是一些键值对信息,每行都是一个键值对;键不能重复; 3. 属性文件的后缀一般都是properties结尾 4. 使用程序读取properties属性文件里面的数据 (1) Properties:是一个Map集合(键值对集合…

抽象设计如何提升用户体验?

抽象设计在网页设计中可以通过多种方式提升用户体验,以下是具体的应用和作用: 一、增强视觉吸引力 视觉冲击力:抽象元素往往具有强烈的视觉冲击力,能够迅速吸引用户的注意力。通过大胆的色彩、不寻常的形状和丰富的纹理&#xff…

MATLAB中while循环例子,for循环嵌套例子

while循环例子 for循环解决斐波那契数列 for循环嵌套例子 注意最后都有 e n d end end

行人识别检测数据集,yolo格式,PASICAL VOC XML,COCO JSON,darknet等格式的标注都支持,准确识别率可达99.5%

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C,go等语言开发经验,mysql,mongo,redis等数据库,设计模…

【vitePress】基于github快速添加评论功能(giscus)

一.添加评论插件 使用giscus来做vitepress 的评论模块,使用也非常的简单,具体可以参考:giscus 文档,首先安装giscus npm i giscus/vue 二.giscus操作 打开giscus 文档,如下图所示,填入你的 github 用户…

JAVA使用自定义注解,在项目中实现EXCEL文件的导出

首先定义一个注解 Retention(RetentionPolicy.RUNTIME) Target(ElementType.FIELD) public interface Excel {/*** 导出时在excel中排序*/int sort() default Integer.MAX_VALUE;/*** 导出到Excel中的名字.*/String name() default "";/*** 首行字段的批注*/String …

有限元分析学习——Anasys Workbanch第一阶段笔记(14)静定与超静定问题、约束类型介绍、简支梁挠度求解和自定义材料库建立

目录 0 序言 1 静定与超静定问题 2 Workbranch中Supports介绍 3 简支梁挠度的有限元求解 4 自定义材料库建立 0 序言 静定与超静定问题、约束类型介绍、简支梁挠度求解和自定义材料库建立(内容对应视频22到24课)。 1 静定与超静定问题 在有限元分析中,不同的…

领域算法 - 大数据处理

大数据处理 文章目录 大数据处理一:hash分流二:双层桶1:什么是双层桶2:双层桶案例 三:外排序1:经典问题2:位图排序法3:多路归并排序 四:bitMap1:添加 -> 异…

以太网实战AD采集上传上位机——FPGA学习笔记27

一、设计目标 使用FPGA实现AD模块驱动采集模拟电压,通过以太网上传到电脑上位机。 二、框架设计 数据位宽转换模块(ad_10bit_to_16bit):为了方便数据传输,数据位宽转换模块实现了将十位的 AD 数据转换成十六位&#…

JavaWeb 快速入门 javaScript(预测爆文) | 019

今日推荐语 人经常推翻自己,经常不同意昨天的自己,这也是常态。——纪静蓉 日期 学习内容 打卡编号2025年01月20日JavaWeb快速入门javaScript019 前言 哈喽,我是菜鸟阿康。 今天大概学习了下 js 的的基础知识,js …

[c语言日寄]内存初阶:大端字节序和小端字节序

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…

【MySQL】数据库-图书管理系统(CC++实现)

一.预期功能 该图书管理系统设计提供基本的设计模版,涉及数据库的增删查改等操作,包含登录功能,图书管理功能,图书借阅功能,用户管理功能等基础功能,详细功能查看以下菜单表,共包含三个菜单&am…

Linux-C/C++--深入探究文件 I/O (下)(文件共享、原子操作与竞争冒险、系统调用、截断文件)

经过上一章内容的学习,了解了 Linux 下空洞文件的概念;open 函数的 O_APPEND 和 O_TRUNC 标志;多次打开同一文件;复制文件描述符;等内容 本章将会接着探究文件IO,讨论如下主题内容。  文件共享介绍&…

RabbitMQ-消息可靠性以及延迟消息

目录 消息丢失 一、发送者的可靠性 1.1 生产者重试机制 1.2 生产者确认机制 1.3 实现生产者确认 (1)开启生产者确认 (2)定义ReturnCallback (3)定义ConfirmCallback 二、MQ的持久化 2.1 数据持久…

springboot基于前后端分离的摄影知识网站

Spring Boot 基于前后端分离的摄影知识网站 一、项目概述 Spring Boot 基于前后端分离的摄影知识网站,是一个专为摄影爱好者、专业摄影师打造的知识共享与交流平台。借助 Spring Boot 强大的后端架构搭建能力,结合前端独立开发的灵活性,整合…

B站评论系统的多级存储架构

以下文章来源于哔哩哔哩技术 ,作者业务 哔哩哔哩技术. 提供B站相关技术的介绍和讲解 1. 背景 评论是 B站生态的重要组成部分,涵盖了 UP 主与用户的互动、平台内容的推荐与优化、社区文化建设以及用户情感满足。B站的评论区不仅是用户互动的核心场所&…

Linux Bash 中使用重定向运算符的 5 种方法

注:机翻,未校。 Five ways to use redirect operators in Bash Posted: January 22, 2021 | by Damon Garn Redirect operators are a basic but essential part of working at the Bash command line. See how to safely redirect input and output t…

什么是三高架构?

大家好,我是锋哥。今天分享关于【什么是三高架构?】面试题。希望对大家有帮助; 什么是三高架构? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 “三高架构”通常是指高可用性(High Availability)、高性能&#xff…

хорошо哈拉少wordpress俄语主题

хорошо哈拉少wordpress俄语主题 wordpress俄文网站模板,推荐做俄罗斯市场的外贸公司建俄语独立站使用。 演示 https://www.jianzhanpress.com/?p7360