介绍
KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,作为全栈的多租户容器平台,KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。
KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如多云与多集群管理、Kubernetes 资源管理、DevOps、应用生命周期管理、微服务治理(服务网格)、日志查询与收集、服务与网络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU 支持、网络策略、镜像仓库管理以及安全管理等。
为什么选择 KubeSphere
- 跨云厂商的多集群统一管理
帮助用户跨区、跨云等多个环境管理、监控、导入和运维多个集群。还可以设置主备集群实现高可用。 - 强大的可观测性功能
- 自动化 DevOps 流程:
只需定义镜像仓库地址,上传二进制文件(例如 JAR/WAR/Binary),即可将对应的服务自动发布至 Kubernetes,无需编写 Dockerfile。 - 细粒度权限控制:
为用户提供不同级别的权限控制,包括集群、企业空间和项目。拥有特定角色的用户可以操作对应的资源。 - 开箱即用的微服务治理
基于 Istio,提供多个灰度策略,包括金丝雀发布、蓝绿部署、流量镜像、和熔断机制等。
提供可视化界面观察服务通信情况,支持链路追踪、智能路由等。 - 活跃的开源社区
Rancher和KubeSphere对比
-
Rancher 的核心竞争力在于其强大的多集群管理能力,提供了极其简便的K8s部署及管理能力。同时提供了集成开源监控、日志、Git CI 的能力,虽然学习成本较高,但提供了一站式的解决方案,对运维更加友好。
-
KubeSphere 定位是以应用为中心的容器平台,提供简单易用的操作界面,一定程度上降低了学习成本,同时集成了原生 istio 等功能,更加符合开发的使用习惯。
3.3.0新版功能
- 主要是新增了 GitOps 功能,KubeSphere DevOps 后端支持独立部署,提供基于 GitOps 的持续部署方案,引入 Argo CD 作为 CD 的后端,可帮助用户实时统计持续部署的状态。
- 按需设置 PVC 自动扩展策略。
- 支持导入 Grafana 模板,实现自定义监控模版;添加了容器进程/线程指标,实现对运行容器的资源和性能监控;优化了磁盘使用率指标,支持显示每个磁盘的使用情况。
- 负载均衡类型选择新增 OpenELB。即使是在非公有云环境的 K8s 集群下,也可以对外暴露 LoadBalancer 服务。
- 其他功能参考官网链接:https://kubesphere.io/zh/docs/v3.3/release/release-v330/
安装
官方文档:https://kubesphere.com.cn/docs/v3.3/
我这里集群已经有了,就选择最小化安装。
- 查看集群的storageClass,安装需要持久化存储。
k get sc
- 安装
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.0/kubesphere-installer.yaml wget https://github.com/kubesphere/ks-installer/releases/download/v3.3.0/cluster-configuration.yaml vim cluster-configuration.yaml kubectl apply -f 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
本质是使用了KubeKey来安装,替代了之前的ansible。
- 查看集群pod
k get po -n kubesphere-system k get po -n kubesphere-monitoring-system
- 添加别名kp
vim /root/.bashrc alias kp='kubectl -n kubesphere-system' source /root/.bashrc
- 查看修改ks-console服务为ClusterIP
kp get svc kp edit svc ks-console
- 添加ingress
cat kubesphere.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: kubesphere-ingress namespace: kubesphere-system spec: ingressClassName: nginx rules: - host: kubesphere.com http: paths: - backend: service: name: ks-console port: number: 80 path: / pathType: Prefix k apply -f kubesphere.yaml kp get ingress
- 浏览器打开网站kubesphere的域名,用户名和密码: admin/P@88w0rd
使用
查看集群管理
查看pod
启用应用商店
官方文档:https://kubesphere.com.cn/docs/v3.3/pluggable-components/overview/
集群管理,定制资源定义,在搜索栏中输入 clusterconfiguration,点击 ks-installer 右侧,选择编辑 YAML。
创建企业空间,添加应用仓库
重新登录,查看页面左上角。
Your method of explaining all in this article is in fact nice, every one be able to simply know it, Thanks a lot.