K8S可视化管理平台KubeSphere

什么是 KubeSphere

KubeSphere 是一款开源项目,在目前主流容器调度平台 Kubernetes 之上构建的企业级分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大降低开发、测试、运维的日常工作的复杂度。

特点

  • 易用

面向开发、测试、运维友好的 UI,向导式用户体验,通过 KubeSphere 控制台将 Kubernetes 的能力以一种极简的方式输送给用户。

  • 灵活

除开源解决方案外,如用户对网络和存储有更高要求,可选用 青云 QingCloud 作为底层平台,可以使用商业化的网络和存储解决方案,集成青云 SDN、块存储和 NeonSAN。

  • 高效

无基础设施依赖,无 Kubernetes 依赖,支持跨物理机、虚拟机、云平台部署,可以纳管不同版本、不同厂商的 Kubernetes 集群。

应用场景

KubeSphere®️ 适用于企业在数字化转型时所面临的敏捷开发与自动化运维、微服务应用架构与流量治理、自动弹性伸缩和业务高可用、DevOps 持续集成与交付等应用场景。

  • 一步升级容器架构,助力业务数字化转型

企业用户部署于物理机、传统虚拟化环境的业务系统,各业务模块会深度耦合,资源不能灵活的水平扩展。KubeSphere 帮助企业将 IT 环境容器化并提供完整的运维管理功能,同时依托青云QingCloud 为企业提供强大的网络、存储支持,并可高效对接企业原监控、运维系统,一站式高效完成企业 IT 容器化改造。

  • 多维管控 Kubernetes,降低运维复杂度

无论将业务架构在 Kubernetes 平台上的用户,还是使用多套来自不同厂商提供的 Kubernetes 平台的用户,复杂的运维管理使企业压力倍增。KubeSphere 可提供统一平台纳管异构 Kubernetes 集群,支持应用自动化部署,减轻日常运维压力。同时,完善的监控告警与日志管理系统有效节省运维人工成本,使企业能够将更多精力投放到业务创新上。

  • 敏捷开发与自动化运维,推动企业 DevOps 落地

DevOps 将开发团队与运营团队通过一套流程或方法建立更具协作性、更高效的的关系,使得开发、测试、发布应用能够更加敏捷、高效、可靠。KubeSphere CI / CD 功能可为企业DevOps 提供敏捷开发与自动化运维。同时, KubeSphere 的微服务治理功能,帮助企业以一种细粒度的方式开发、测试和发布服务,有效推动企业 DevOps 落地。

  • 灵活的微服务解决方案,一步升级云原生架构

微服务架构可轻量级构建冗余,可扩展性强,非常适合构建云原生应用程序。KubeSphere 基于主流微服务解决方案 Istio,提供无代码侵入的微服务治理平台。后续将集成 SpringCloud,便于企业构建 Java 应用,助力企业一步实现微服务架构,实现应用云原生转型。

  • 基于物理环境构建全栈容器架构,释放硬件最大效能

支持在全物理环境部署全栈容器架构,利用物理交换机,为 KubeSphere 提供负载均衡器服务,同时,通过 KubeSphere 与 QingCloud VPC 以及QingStor NeonSAN 的组合,可打通负载均衡、容器平台、网络、存储全栈功能,实现真正意义上的物理环境一体化多租户容器架构解决方案,并实现自主可控、统一管理。避免虚拟化带来的性能损耗,释放硬件最大效能。

架构图

后端组件 功能说明
ks-account 提供用户、权限管理相关的 API
ks-apiserver 整个集群管理的 API 接口和集群内部各个模块之间通信的枢纽,以及集群安全控制
ks-apigateway 负责处理服务请求和处理 API 调用过程中的所有任务
ks-console 提供 KubeSphere 的控制台服务
ks-controller-manager 实现业务逻辑的,例如创建企业空间时,为其创建对应的权限;或创建服务策略时,生成对应的 Istio 配置等
Metrics-server Kubernetes 的监控组件,从每个节点的 Kubelet 采集指标信息
Prometheus 提供集群、节点、工作负载、API 对象等相关监控数据与服务
Elasticsearch 提供集群的日志索引、查询、数据管理等服务,在安装时也可对接您已有的 ES 减少资源消耗
Fluent Bit 提供日志接收与转发,可将采集到的⽇志信息发送到 ElasticSearch、Kafka
Jenkins 提供 CI/CD 流水线服务
SonarQube 可选安装项,提供代码静态检查与质量分析
Source-to-Image 将源代码自动将编译并打包成 Docker 镜像,方便快速构建镜像
Istio 提供微服务治理与流量管控,如灰度发布、金丝雀发布、熔断、流量镜像等
Jaeger 收集 Sidecar 数据,提供分布式 Tracing 服务
OpenPitrix 提供应用模板、应用部署与管理的服务
Alert 提供集群、Workload、Pod、容器级别的自定义告警服务
Notification 通用的通知服务,目前支持邮件通知
redis 将 ks-console 与 ks-account 的数据存储在内存中的存储系统
MySQL 集群后端组件的数据库,监控、告警、DevOps、OpenPitrix 共用 MySQL 服务
PostgreSQL SonarQube 和 Harbor 的后端数据库
OpenLDAP 负责集中存储和管理用户账号信息与对接外部的 LDAP
存储 内置 CSI 插件对接云平台存储服务,可选安装开源的 NFS/Ceph/Gluster 的客户端
网络 可选安装 Calico/Flannel 等开源的网络插件,支持对接云平台 SDN

除了上述列表的组件,KubeSphere 还支持 Harbor 与 GitLab 作为可选安装项,您可以根据项目需要进行安装。

一键部署 KubeSphere

第一步: 准备主机

您可以参考以下节点规格准备一台符合要求的主机节点开始 all-in-one 模式的安装。

说明:

  • 若使用 ubuntu 16.04 建议使用其最新的版本 16.04.5;

  • 若使用 ubuntu 18.04,则需要使用 root 用户;

  • 若 Debian 系统未安装 sudo 命令,则需要在安装前使用 root 用户执行 apt update && apt install sudo 命令安装 sudo 命令后再进行安装。

  • 若需要选装 Harbor 和 GitLab,则主机的内存需要 16 G 以上。

操作系统 最低配置
CentOS 7.5 (64 bit) CPU:8 核, 内存:16 G, 系统盘:100 G
Ubuntu 16.04/18.04 LTS (64 bit) CPU:8 核, 内存:16 G, 系统盘:100 G
Red Hat Enterprise Linux Server 7.4 (64 bit) CPU:8 核, 内存:16 G, 系统盘:100 G
Debian Stretch 9.5 (64 bit) CPU:8 核, 内存:16 G, 系统盘:100 G

第二步: 准备安装包

在线版 (2.0.2)

下载 KubeSphere Advanced Edition 2.0.2 安装包至待安装机器,进入安装目录。

复制代码
$ curl -L https://kubesphere.io/download/stable/advanced-2.0.2 > advanced-2.0.2.tar.gz \
&& tar -zxf advanced-2.0.2.tar.gz && cd kubesphere-all-advanced-2.0.2/scripts

离线版 (2.0.2)

下载 离线安装包 (2.0.2) 至待安装机器。

复制代码
 

$ curl -L https://kubesphere.io/download/offline/advanced-2.0.2 > advanced-2.0.2.tar.gz && tar -zxf advanced-2.0.2.tar.gz && cd kubesphere-all-offline-advanced-2.0.2/scripts

第三步: 安装 KubeSphere

KubeSphere 安装过程中将会自动化地进行环境和文件监测、平台依赖软件的安装、Kubernetes 和 etcd 的自动化安装,以及存储的自动化配置。最新的Installer 默认安装的 Kubernetes 版本是 v1.13.5,安装成功后可通过 KubeSphere 控制台右上角点击关于查看安装的版本。

说明:

  • 通常情况您不需要修改任何配置,直接安装即可。

  • 网络默认插件是 calico,若您需要自定义安装参数,如网络、存储、GitLab、Harbor、负载均衡器插件等相关内容需在 conf/vars.yml 配置文件中指定或修改。

  • All-in-One 默认会用 Local Volume 即本地存储设备作为存储类型,但 Local Volume 不支持动态分配,需手动创建 Persistent Volume (PV),Installer 会预先创建 26 个可用的 10G PV 供使用。若存储空间不足时则需要手动创建,参见 Local Volume 使用方法。

  • 支持存储类型:QingCloud 云平台块存储 (QingCloud 公有云单节点挂盘限制为 10 块)、QingStor NeonSAN、GlusterFS、Ceph RBD、NFS、Local Volume,存储配置相关的详细信息请参考 存储配置说明。

  • 由于 Kubernetes 集群的 Cluster IP 子网网段默认是 10.233.0.0/18,Pod 的子网网段默认是 10.233.64.0/18,因此安装 KubeSphere 的节点 IP 地址范围不应与以上两个网段有重复,若遇到地址范围冲突可在配置文件 conf/vars.yaml修改 kube_service_addresseskube_pods_subnet 的参数。

参考以下步骤开始 all-in-one 安装:

说明:安装时间跟网络情况和带宽、机器配置、安装节点个数等因素有关,已测试过的 all-in-one 模式,在网络良好的情况下以规格列表最小配置安装用时大约为 25 分钟。

  1. 建议使用 root 用户安装,执行 install.sh 脚本:

    $ ./install.sh

  2. 输入数字 1 选择第一种即 all-in-one 模式开始安装:

    ################################################
    KubeSphere Installer Menu
    ################################################

      1. All-in-one
      1. Multi-node
      1. Quit
        ################################################
        https://kubesphere.io/ 2018-07-08
        ################################################
        Please input an option: 1
  3. 验证 KubeSphere 单节点安装是否成功:

(1) 待安装脚本执行完后,当看到如下 "Successful" 界面,则说明 KubeSphere 安装成功。

复制代码
successsful!
#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://192.168.0.8:30880
Account: admin
Password: P@88w0rd

NOTE:Please modify the default password after login.
#####################################################

提示:如需要再次查看以上的界面信息,可在安装包目录下执行 cat kubesphere/kubesphere_running 命令查看。

(2) 若需要在外网访问,在云平台需要在端口转发规则中将内网端口 30880 转发到源端口 30880,然后在防火墙开放这个源端口,确保外网流量可以通过该端口。例如在 QingCloud 平台配置端口转发和防火墙规则,则可以参考 云平台配置端口转发和防火墙。

(3) 安装成功后,浏览器访问对应的 URL,如 http://{$公网IP}:30880,即可进入 KubeSphere 登录界面,可使用默认的用户名和密码登录 KubeSphere 控制台体验,参阅 快速入门 帮助您快速上手 KubeSphere。

注意:登陆 Console 后请在 "集群状态" 查看服务组件的监控状态,待所有组件启动完成后即可开始使用,通常所有服务组件都将在 15 分钟内启动完成。

官方文档:https://kubesphere.io/docs/

相关推荐
小伟5532 分钟前
Keepalived 高可用实战(Ubuntu 24.04)
运维
运维闲章印时光41 分钟前
网络断网、环路、IP 冲突?VRRP+MSTP+DHCP 联动方案一次性解决
运维·服务器·开发语言·网络·php
ARTHUR-SYS1 小时前
基于Kali linux 安装pyenv及简单使用方法及碰到的问题
linux·运维·chrome
苹果醋31 小时前
数据结构其一 线性表
java·运维·spring boot·mysql·nginx
CIb0la1 小时前
微软宣布 Windows 11 v25H2 GA
运维·安全·生活
java干货2 小时前
我用Nginx做了负载均衡,还需要API网关吗?
运维·nginx·负载均衡
IvanCodes2 小时前
十五、深入理解 SELinux
linux·运维·服务器
对着晚风做鬼脸5 小时前
MySQL 运维知识点(十六)---- 读写分离
运维·数据库·mysql·adb
Rsingstarzengjx8 小时前
搭建Jenkins gitlab 环境
运维·服务器
君之嘞11 小时前
【操作系统基础】认识操作系统:系统调用
linux·运维·microsoft