微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台

article/2025/10/4 19:37:51

微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台

通过采用微服相关架构构建一套以Kubernetes+Docker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekins自动构建、编译、测试、发布的自动部署,形成一套完整的自动化运维、发布的快速DevOps平台。


本文是基于Kubernets集群基础上来部署Kubesphere的,搭建Kubernetes集群参见【微服架构基础设施环境平台搭建 -(三)Docker+Kubernetes集群搭建】


Kubesphere详情参见【官方网站】

详情参照Kubesphere官方文档【在 Kubernetes 上最小化安装 KubeSphere】

微服架构基础设施环境平台搭建 系列文章


微服架构基础设施环境平台搭建 -(一)基础环境准备
微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建
微服架构基础设施环境平台搭建 -(三)Docker+Kubernetes集群搭建
微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台
微服架构基础设施环境平台搭建 -(五)Docker常用命令

目录

  • 微服架构基础设施环境平台搭建 -(四)在Kubernetes集群基础上搭建Kubesphere平台
  • 一、微服架构采用的技术架构
  • 二、微服架构基础设施平台网络规划
  • 三、部署架构
  • 四、部署NFS提供外部共享存储
    • 1、在ks-harbor服务器部署NFS服务
    • 2、在ks-n1、ks-n2服务器部署NFS客户端
  • 五、为Kubenetes集群配置NFS存储
    • 1、新建sc.yaml
    • 2、执行发布安装
  • 六、安装Kubesphere
    • 1、下载并发布安装Kubesphere
    • 2、通过日志实时显示安装进度
    • 3、登录Web控制台
  • 七、体验Kubesphere平台
    • 1、登录
    • 2、首页
    • 3、集群节点管理
    • 4、监控告警
  • 八、启用DevOps插件
    • 1、进入集群管理
    • 2、定制资源定义
      • 1)、搜索框内输入【clusterconfiguration】
      • 2)、进入ClusterConfiguration详情画面后编辑ks-insaller的YAML
      • 3)、将devops下的enabled值改为true
      • 4)、查看安装进度
  • 九、在Kubesphere上部署一个Harbor上的镜像服务
    • 1、创建企业空间
    • 2、创建项目
    • 3、创建访问Harbor的令牌
    • 4、创建服务

一、微服架构采用的技术架构

序号技术框架说明
1Kubernetes
2KubesphereKubernetes编排器,管理平台
3Docker
4HarborDocker私有仓库
5GitLab源码库
6Jekins自动编译、测试、发布平台
7Spring Cloud AlibabaSpring Cloud Alibaba微服体系架构
8NacosApi网关、服务注册发现配置管理中心
9Sentinel限流溶断安全中心
10Seata分布式事务管理框架
11Redis分布式缓存服务
12ElasticSearch/Solr数据检索服务
13Mysql结构化数据存储
14Grafana监控平台
15Nginx服务代理、Web服务

二、微服架构基础设施平台网络规划

序号IPHostName操作系统K8s角色说明
1192.168.1.141ks-m1CentOS7_x64控制节点Kubernetes Master
2192.168.1.142ks-m2CentOS7_x64控制节点Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器
3192.168.1.143ks-m3CentOS7_x64控制节点Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器
4192.168.1.144ks-n1CentOS7_x64工作节点Kubernetes Worker
5192.168.1.145ks-n2CentOS7_x64工作节点Kubernetes Worker
6192.168.2.146ks-harborCentOS7_x64工作节点Harbor服务+NFS文件服务

三、部署架构

在这里插入图片描述

四、部署NFS提供外部共享存储

1、在ks-harbor服务器部署NFS服务

yum install -y nfs-common nfs-utils 
# 分配权限
mkdir /nfsdata && chmod 666 /nfsdata && chown nfsnobody /nfsdata
# 配置挂载
vim /etc/exports
/nfsdata *(rw,no_root_squash,no_all_squash,sync)#systemctl start nfs && systemctl enable nfs  && systemctl status nfs
#启动
systemctl start rpcbind && systemctl start nfs# 使配置生效
exportfs -r#检查配置是否生效
exportfs#重载配置文件,不需要重启服务
exportfs -arv

2、在ks-n1、ks-n2服务器部署NFS客户端

分别在ks-n1、ks-n2执行下面的命令

# 安装nfs
yum install -y nfs-utilssystemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server#用showmount -e查看远程服务器rpc提供的可挂载的nfs信息
showmount -e 192.168.2.146#创建挂载点目录(可自行定义)
mkdir -p /nfsdata
#执行挂载命令,完成后测试文件是否共享
mount -t nfs 192.168.2.146:/nfsdata /nfsdata
#配置客户端重启时自动挂载
vim /etc/fstab

新增内容

192.168.2.146:/nfsdata  /nfsdata	nfs     defaults	0 0
#查看挂载是否成功
df -h

在这里插入图片描述

五、为Kubenetes集群配置NFS存储

本操作所有命令都在ks-m1服务器上执行

1、新建sc.yaml

mkdir /home/hxyl/sc
cd /home/hxyl/sc
vim sc.yaml

sc.yaml的内容

## 创建了一个存储类
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: nfs-storageannotations:storageclass.kubernetes.io/is-default-class: "true"
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner
parameters:archiveOnDelete: "true"  ## 删除pv的时候,pv的内容是否要备份---
apiVersion: apps/v1
kind: Deployment
metadata:name: nfs-client-provisionerlabels:app: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
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/lfy_k8s_images/nfs-subdir-external-provisioner:v4.0.2# resources:#    limits:#      cpu: 10m#    requests:#      cpu: 10mvolumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: k8s-sigs.io/nfs-subdir-external-provisioner- name: NFS_SERVERvalue: 192.168.2.146 ## 指定自己nfs服务器地址- name: NFS_PATH  value: /nfsdata  ## nfs服务器共享的目录volumes:- name: nfs-client-rootnfs:server: 192.168.2.146path: /nfsdata
---
apiVersion: v1
kind: ServiceAccount
metadata:name: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: nfs-client-provisioner-runner
rules:- apiGroups: [""]resources: ["nodes"]verbs: ["get", "list", "watch"]- apiGroups: [""]resources: ["persistentvolumes"]verbs: ["get", "list", "watch", "create", "delete"]- apiGroups: [""]resources: ["persistentvolumeclaims"]verbs: ["get", "list", "watch", "update"]- apiGroups: ["storage.k8s.io"]resources: ["storageclasses"]verbs: ["get", "list", "watch"]- apiGroups: [""]resources: ["events"]verbs: ["create", "update", "patch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: run-nfs-client-provisioner
subjects:- kind: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
roleRef:kind: ClusterRolename: nfs-client-provisioner-runnerapiGroup: rbac.authorization.k8s.io
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
rules:- apiGroups: [""]resources: ["endpoints"]verbs: ["get", "list", "watch", "create", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
subjects:- kind: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: default
roleRef:kind: Rolename: leader-locking-nfs-client-provisionerapiGroup: rbac.authorization.k8s.io

2、执行发布安装

# 执行发布安装
kubectl apply -f sc.yaml# 查看nfs-client-provisioner pod 是否安装成功
kubectl get pod -A

在这里插入图片描述
在这里插入图片描述

六、安装Kubesphere

1、下载并发布安装Kubesphere

# 下载核心文件并将其pod发布到Kubernetes中
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/kubesphere-installer.yaml# 执行完此命令后需要通过下面【2、通过日志实时显示安装进度】命令查看安装进度,大概需要几分钟的时间
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/cluster-configuration.yaml

2、通过日志实时显示安装进度

#查看安装进度
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

在这里插入图片描述

3、登录Web控制台

说明:


1、访问3个Master节点(ks-m1、ks-m2、ks-m3)任何一个节点的30880端口即可。例如:http://192.168.1.141:30880
2、默认的用户名:admin,默认的密码:P@88w0rd

七、体验Kubesphere平台

说明:
下面部分截图中显示的是3个节点,原因是开始部署的5台虚拟机由于资源有限,服务器跑不动了,导致集群节点不可用,后来,将集群节点由5个降为3个节点:
1、Master节点:ks-m1
2、Worker节点:ks-m2、ks-n1

1、登录

1)、登录画面
在这里插入图片描述

2)、初次登录时修改初始密码画面 在这里插入图片描述

2、首页

1)、登录成功后首页
在这里插入图片描述
2)、平台管理首页
在这里插入图片描述

3、集群节点管理

1)、集群节点列表管理画面
在这里插入图片描述
2)、集群节点详情画面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、监控告警

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、启用DevOps插件

1、进入集群管理

登录Web控制台后->平台管理->集群管理
在这里插入图片描述

2、定制资源定义

1)、搜索框内输入【clusterconfiguration】

在这里插入图片描述

2)、进入ClusterConfiguration详情画面后编辑ks-insaller的YAML

在这里插入图片描述

3)、将devops下的enabled值改为true

改值改为true后,点击【确定】后保存并关闭弹窗口,并在稍后会提示“更新成功”
在这里插入图片描述

4)、查看安装进度

安装过程会持续几分钟,执行下面命令可以查看实时安装日志

# 在ks-m1上执行
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

九、在Kubesphere上部署一个Harbor上的镜像服务

1、创建企业空间

2、创建项目

3、创建访问Harbor的令牌

项目详情->配置->保密字典 在这里插入图片描述

4、创建服务

项目详情->应用负载->服务
在这里插入图片描述

说明


1、无状态服务:无数据数据持久化的服务
2、有状态服务:数据需要持久化的服务

由于我们是要创建mysql服务,所以选有状态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成后点击【对钩】
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/h3wbTCqJ.shtml

相关文章

微服架构简介

什么是微服务? 专业解释: 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的…

微服架构基础设施环境平台搭建 -(五)Docker常用命令

微服架构基础设施环境平台搭建 -(五)Docker常用命令 本文主要列出了Docker常用的命令 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -(一)基础环境准备 微服架构基础设施环境平台搭建 -(二&am…

微服务简介

文章目录 微服务(micro services)简介一 什么是微服务?二 微服务这个概念的由来三 微服务和单体式架构区别3.1 单体式架构缺点3.2 微服务架构的解决方案3.3 微服务缺点3.4 微服务优点3.5 单体式和微服务对比 微服务(micro service…

微服务什么是以及微服务框架

微服务(microservice) 微服务是分布式架构的一种,分布式架构其实就是要把服务做一个拆分,而springcloud只是解决了拆分过程中的服务治理问题。 在单体架构中,我们把所有的服务都写在一起,随着业务的复杂代…

微服篇01——微服务的发展

01——微服务的发展 1:Monolith(整体架构) 服务所对应的代码由多个项目所组成,最终合并在一起形成一个WAR包,再部署到Web容器。 负载与扩容: 2:微服务(Microservice)架构模式 Microservic…

配置不同网段的dhcp服务器

dhcp中继设置 试题4:DHCP实验 背景: 某公司新建了局域网,要求网内地址采用DHCP分配,DHCP服务器地址为172.16.1.5/24,请建立172.16.1.128/25的域为局域网用户分配置IP地址,域中DNS地址为:202.97.…

Linux服务器配置(详细版)

本来就很麻烦,如果错了一个很有可能从新再来,非常麻烦所以要细心 请省略这段部分 --------------------------------------------------------------------------------------------------------------------------------------------- Linux命令 1.进…

银河麒麟服务器修改ip,银河麒麟配置DNS服务器

银河麒麟配置DNS服务器 内容精选 换一换 MindInsight为MindSpore提供了简单易用的调优调试能力。在训练过程中,可以将标量、张量、图像、计算图、模型超参、训练耗时等数据记录到文件中,通过MindInsight可视化页面进行查看及分析。MindInsight组件为MindStudio的独立组件,请…

查看服务器sftp用户信息,linux查看sftp服务器配置

linux查看sftp服务器配置 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性。本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远程备份至FTP/SFTP服务器。开启远程备份后,系统默认在每天零点备份前一天的系…

访问量100万的网站服务器,100万访问量 服务器配置

100万访问量 服务器配置 内容精选 换一换 弹性负载均衡有不同的负载均衡,分别是共享型负载均衡和独享型负载均衡,便于用户根据不同的应用场景和功能需求选择合适的负载均衡器类型。共享型负载均衡:适用于访问量较大的web业务,提供基于域名和URL的路由均衡能力,实现更加灵活…

思科模拟器企业网站服务器配置,cisco模拟器配置域名web服务器

cisco模拟器配置域名web服务器 内容精选 换一换 防护域名开启WEB基础防护之后,访问网站如果出现500,502,504等报错,并且显示Web应用防火墙和网站连接失败,如图1所示。可能的原因比较多,如防火墙拦截、源站配置错误、HTTPS/WebSockets采用不安全的协议版本、后端服务器性能…

hpe服务器稳定性,hpe服务器安装与配置

hpe服务器安装与配置 内容精选 换一换 Ceph集群可采用TaiShan服务器和x86服务器混合部署的方式和全TaiShan服务器的非混合部署方式。在混合部署场景下,三个Ceph节点中,两台为TaiShan 200服务器(型号2280),一台为Fusion Server服务器(型号2288…

曙光服务器Raid配置

前言 这几天一直在某单位做信息化项目,这几天接触的国产化服务器,当然服务器型号是定制的,官网是没有这个型号的,并且系统也是国产化的。下面附上几幅工作照片! 一、曙光服务器Raid配置说明 1.1、Raid配置途径 适用…

家用 NAS 服务器(1)| 配置选择及准备

家用 NAS 服务器(1)| 事前准备及配置选择 原文地址:CSDN 博文 后文链接:家用 NAS 服务器(2)| Hyper-V的Winserver 2022和Ubuntu 22.04双系统 文章目录 家用 NAS 服务器(1)| 事前准…

ensp服务器配置文件,ensp中服务器的基本配置

ensp中服务器的基本配置 内容精选 换一换 用户云服务器基本网络功能异常,无法完成基本通信。从弹性云服务器内部ping所在子网的网关,无法ping通,则需首先排查二三层网络问题。本问题请按照以下思路进行排查处理。检查弹性云服务器是否获取到IP:检查弹性云服务器是否获取到I…

家用服务器配置清单,供君参考

从零玩转服务器,小白搞机,走起! 硬件选择 1、CPU。做服务器用的话,肯定intel家的,如果想作为家用服务器,既当普通电脑,又当服务器,那不仅核心要多,主频还要高。这样的C…

1000并发的系统服务器配置,1000人并发服务器配置

1000人并发服务器配置 内容精选 换一换 多个用户同时通过ssh登录堡垒机管理下的任一服务器时,允许登录的帐号数有上限,当登录的帐号数超出上限值时,必须退出一个帐号才能再登录一个账号。该问题是由于并发数限制导致的。云堡垒机支持100、200、500、1000、2000、5000资产规格…

创业公司如何搭建服务器配置方案?

1.省钱之道:初创企业应用为先 “工欲善其事,必先利其器。”IT采购不仅是帮助内部提高工作效率与节约成本,同时合理IT设备能够帮助获得更大的收益,特别是初创企业拼的就是服务。当下在互联网+的大背景下,可谓全民谈创业,人人当老板,但知易行难几乎是所有创业的共识。作为…

PHP通常用哪种web服务器,常见的几种WEB服务器配置方案分享

在众多专用服务器中,WEB服务器应该是我们最为熟知和常用到的了,根据不同的建站及WEB需求,WEB服务器有着好几种常见的环境配置方案,这里就总结分享一下: 当前比较流行的配置就是跑php一般就是,php运行的肯定…

服务器系统部署方案,服务器 部署方案

服务器 部署方案 内容精选 换一换 专属云SAP解决方案开发测试系统部署方案如图1所示。说明如下:VPC网络:为了保证网络的安全,系统中所有节点在一个VPC网络内,且所有节点部署在同一个AZ(Available Zone)。VPC网络内分三个子网:管理子网、应用子网和数据库子网。Storage Poo…