总览
- 安装了k8s控制面板,方便日常的问题处理,查看资源状态信息,也可以增加子账号进行开放给其他人员使用,减少命令操作,提升工作效率
前置条件
- 须有一个正常使用的k8s集群
- 附k8s v1.23版本搭建:https://blog.csdn.net/u010800804/article/details/124524688
Kubesphere【推荐】
- 面向云原生应用的容器混合云
- KubeSphere 愿景是打造一个以 Kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。
资源信息
- KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。
- 中国官方网站:https://www.kubesphere.io/zh/
- 开源地址:https://github.com/kubesphere/kubesphere
- 平台内置的多租户设计,让不同的团队能够在一个平台中不同的企业空间下,更安全地从云端到边缘部署云原生应用。开发者通过界面点击即可快速部署项目,平台内置丰富的云原生可观测性与 DevOps 工具集帮助运维人员定位问题和快速交付。KubeSphere 还能帮助基础设施团队在数据中心与多个云上高效地部署与运维多集群,避免单一云厂商绑定。
KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。
作为全栈的多租户容器平台,KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如多云与多集群管理、Kubernetes 资源管理、DevOps、应用生命周期管理、微服务治理(服务网格)、日志查询与收集、服务与网络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU 支持、网络策略、镜像仓库管理以及安全管理等。
KubeSphere 还开源了 KubeKey 帮助企业一键在公有云或数据中心快速搭建 Kubernetes 集群,提供单节点、多节点、集群插件安装,以及集群升级与运维。
在线安装
- 最小化安装 KubeSphere
准备工作
- Kubernetes 版本必须为:v1.20.x、v1.21.x、* v1.22.x、* v1.23.x 和 * v1.24.x。带星号的版本可能出现边缘节点部分功能不可用的情况。因此,如需使用边缘节点,推荐安装 v1.21.x
- 机器满足最低硬件要求:CPU > 1 核,内存 > 2 GB
- 检查集群中是否有默认 StorageClass(准备默认 StorageClass 是安装 KubeSphere 的前提条件)
- 参考地址:https://www.kubesphere.io/zh/docs/v3.3/installing-on-kubernetes/introduction/prerequisites/
命令安装
- 在k8s master节点执行命令
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/cluster-configuration.yaml
报错 Default StorageClass was not found
- 报错信息:Default StorageClass was not found !
解决
- 创建文件storageclass.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
- 创建文件persistentVolumeClaim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: local-pve
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: local-storage
- 执行命令
kubectl apply -f storageclass.yaml
kubectl apply -f persistentVolumeClaim.yaml
- 删除执行安装的pod
kubectl delete -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/kubesphere-installer.yaml
kubectl delete -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/cluster-configuration.yaml
- 将sc设置为默认存储
kubectl patch sc local-storage -p '{"metadata": {"annotations": {"storageclass.beta.kubernetes.io/is-default-class": "true"}}}'
- 重新执行命令
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.2/cluster-configuration.yaml
安装日志
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
端口信息
使用 kubectl get pod --all-namespaces 查看所有 Pod 是否在 KubeSphere 的相关命名空间中正常运行。如果是,请通过以下命令检查控制台的端口(默认为 30880)
在线访问
- 确保在安全组中打开了端口 30880,并通过 NodePort (IP:30880) 使用默认帐户和密码 (admin/P@88w0rd) 访问 Web 控制台。
- 初次登陆需修改密码
使用
- 首页
- 集群信息
- 项目
- 监控
- 具体更多使用可参考:https://www.kubesphere.io/zh/docs/v3.3/