KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,具有完全开源的特性,支持多云与多集群管理,提供全栈的IT自动化运维能力,简化企业的DevOps工作流。本文主要详解KubeSphere的定义及安装使用购买教程。
一、KubeSphere概述
KubeSphere提供了运维友好的向导式操作界面,帮助企业快速构建一个强大而功能丰富的容器云平台。它为用户提供了构建企业级Kubernetes环境所需的诸多功能,包括多云与多集群管理、Kubernetes资源管理、DevOps、应用生命周期管理、微服务治理(服务网格)、日志查询与收集、服务与网络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU支持、网络策略、镜像仓库管理以及安全管理等。
二、安装KubeSphere
这里介绍的是在已有Kubernetes集群上安装KubeSphere的方法。安装之前,需要满足以下前置条件:
(1)运行环境:KubeSphere可以在虚拟机和裸机上安装,并同时配置Kubernetes。此外,任何满足以下条件的Kubernetes集群,包括云托管和本地Kubernetes集群,也可以部署KubeSphere。
(2)Kubernetes版本:如需在Kubernetes上安装KubeSphere3.4,Kubernetes版本必须为:v1.20.x、v1.21.x、v1.22.x、v1.23.x、*v1.24.x、*v1.25.x和*v1.26.x。带星号的版本可能会有边缘节点部分功能不可用的情况。若需要使用边缘节点,推荐安装v1.23.x。
(3)资源要求:可用CPU>1核;内存>2G。CPU必须为x86_64,暂时不支持Arm架构的CPU。
(4)StorageClass:Kubernetes集群必须配置默认StorageClass(请使用”kubectlgetsc”进行确认)。
(5)CSR签名功能:启动集群时,需使用”–cluster-signing-cert-file”和”–cluster-signing-key-file”参数,以启用kube-apiserver的CSR签名功能。
1、检查KubeSphere版本与Kubernetes版本的兼容性
我这里安装的KubeSphere版本为v3.4,要求Kubernetes版本在v1.20.x至v1.26.x之间:
输出:
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version. Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:58:30Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"} Kustomize Version: v4.5.7 Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.9", GitCommit:"d1483fdf7a0578c83523bc1e2212a606a44fd71d", GitTreeState:"clean", BuildDate:"2023-09-13T11:25:26Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
因此版本要求是满足的。
2、检查集群中是否有默认StorageClass
查看集群中的StorageClass:
kubectl get sc No resources found
显然当前没有StorageClass资源。接下来需要创建一个StorageClass,并将其设置为默认StorageClass。
创建StorageClass后,使用以下命令将其设置为默认存储类:
#将某个存储类设置为存储类 #kubectl patch storageclass StorageClass的NAME -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' kubectl patch storageclass local-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
3、安装KubeSphere
至此,KubeSphere的安装前置条件已满足,下面开始安装KubeSphere。运行以下两条命令,若没有报错,可以查看安装进度。通常需要等待大约8分钟,日志没有报错则问题不大。
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
开放服务器30880端口,需要端口转发的转发端口即可访问,浏览器访问ip:30880,默认用户名和密码为admin/P@88w0rd。
至此KubeSphere就安装完成了
三、kubesphere使用示例
Deployment部署nginx:
需要创建pvc,创建pvc时就会通过StorageClass自动创建pv,并完成pv与pvc的绑定,无需管理员提前创建好pv。
相关推荐:《Kubernetes(K8s)安装部署详细教程》
-
广告合作
-
QQ群号:707632017