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 的组合,可打通负载均衡、容器平台、网络、存储全栈功能,实现真正意义上的物理环境一体化多租户容器架构解决方案,并实现自主可控、统一管理。避免虚拟化带来的性能损耗,释放硬件最大效能。

架构图

K8S可视化管理平台KubeSphere_第1张图片

后端组件 功能说明
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_addresses 或 kube_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
*   2) Multi-node
*   3) 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。

K8S可视化管理平台KubeSphere_第2张图片

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

K8S可视化管理平台KubeSphere_第3张图片

K8S可视化管理平台KubeSphere_第4张图片

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

你可能感兴趣的:(kubernets,kubernetes,运维,容器)