当前位置: 首页 > news >正文

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-serverKubernetes 的监控组件,从每个节点的 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 服务
PostgreSQLSonarQube 和 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@88w0rdNOTE: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/

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Linux 网络】应用层
  • es之must、filter、must_not、should
  • 公交信息在线查询小程序的设计
  • 【vue3】template标签的一些理解(提了一嘴component标签)
  • 要抓住国际白银现货行情 以下这几点需要注意
  • Java毕业设计 基于SSM和Vue的美容院管理系统小程序
  • 科普文:Lombok使用及工作原理详解
  • 【Python数据结构与算法】递归----上台阶
  • 设计理念中——抽象与接口和用(C#)
  • 【运维自动化】网络统一监控运维管理解决方案(PPT建设方案)
  • SpringCache的使用
  • unplugin-vue-components 插件配置 忽略 部分目录下的组件自动导入
  • Python 实现光波带宽换算(完结)
  • 信号处理——自相关和互相关分析
  • promise一点通,promise.all用法,try catch基本用法图
  • 「译」Node.js Streams 基础
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • classpath对获取配置文件的影响
  • GitUp, 你不可错过的秀外慧中的git工具
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS数组方法汇总
  • leetcode388. Longest Absolute File Path
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • React-flux杂记
  • Spring Cloud中负载均衡器概览
  • sublime配置文件
  • Vue 2.3、2.4 知识点小结
  • Wamp集成环境 添加PHP的新版本
  • XML已死 ?
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 使用parted解决大于2T的磁盘分区
  • 手写一个CommonJS打包工具(一)
  • gunicorn工作原理
  • ionic入门之数据绑定显示-1
  • UI设计初学者应该如何入门?
  • ​​​【收录 Hello 算法】9.4 小结
  • # 达梦数据库知识点
  • #565. 查找之大编号
  • #Linux(帮助手册)
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ${factoryList }后面有空格不影响
  • (C#)一个最简单的链表类
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转载)Google Chrome调试JS
  • .CSS-hover 的解释
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET Remoting学习笔记(三)信道
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET 指南:抽象化实现的基类
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @DataRedisTest测试redis从未如此丝滑