Kubernetes(K8S) kubesphere 介绍

2023-04-26 11:32:45 来源:博客园


(相关资料图)

使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图

官网地址:https://kubesphere.com.cn/KubeSphere 是个全栈的Kubernetes容器云PaaS解决方案KubeSphere 是在目前主流容器调度平台 Kubernetes 之上构建的企业级分布式多租户容器平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。

KubeSphere架构说明

KubeSphere 采用了前后端分离的架构,实现了面向云原生的设计,后端的各个功能组件可通过 REST API 对接外部系统,可参考 API 文档。KubeSphere 无底层的基础设施依赖,可以运行在任何 Kubernetes、私有云、公有云、VM 或物理环境(BM)之上。

后端组件功能说明
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 作为可选安装项,您可以根据项目需要进行安装。以上列表中每个功能组件下还有多个服务组件,关于服务组件的说明,可参考 服务组件说明。

名词解释
KubeSphereKubernetes 对照释义
项目Namespace, 为 Kubernetes 集群提供虚拟的隔离作用,详见 Namespace。
容器组Pod是 Kubernetes 进行资源调度的最小单位,每个 Pod 中运行着一个或多个密切相关的业务容器
部署Deployments,表示用户对 Kubernetes 集群的一次更新操作,详见 Deployment。
有状态副本集StatefulSets,用来管理有状态应用,可以保证部署和 scale 的顺序,详见 StatefulSet。
守护进程集DaemonSets,保证在每个 Node 上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用,详见 Daemonset。
任务Jobs,在 Kubernetes 中用来控制批处理型任务的资源对象,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。任务管理的 Pod 根据用户的设置将任务成功完成就自动退出了。比如在创建工作负载前,执行任务,将镜像上传至镜像仓库。详见 Job。
定时任务CronJob,是基于时间的 Job,就类似于 Linux 系统的 crontab,在指定的时间周期运行指定的 Job,在给定时间点只运行一次或周期性地运行。详见 CronJob
服务Service, 一个 Kubernete 服务是一个最小的对象,类似 Pod,和其它的终端对象一样,详见 Service。
应用路由Ingress,是授权入站连接到达集群服务的规则集合。可通过 Ingress 配置提供外部可访问的 URL、负载均衡、SSL、基于名称的虚拟主机等,详见 Ingress。
镜像仓库Image Registries,镜像仓库用于存放 Docker 镜像,Docker 镜像用于部署容器服务, 详见 Images。
存储卷PersistentVolumeClaim(PVC),满足用户对于持久化存储的需求,用户将 Pod 内需要持久化的数据挂载至存储卷,实现删除 Pod 后,数据仍保留在存储卷内。Kubesphere 推荐使用动态分配存储,当集群管理员配置存储类型后,集群用户可一键式分配和回收存储卷,无需关心存储底层细节。详见 Volume。
存储类型StorageClass,为管理员提供了描述存储 “Class(类)” 的方法,包含 Provisioner、 ReclaimPolicy 和 Parameters 。详见 StorageClass。
流水线Pipeline,简单来说就是一套运行在 Jenkins 上的 CI/CD 工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。
企业空间Workspace,是 KubeSphere 实现多租户模式的基础,是您管理项目、 DevOps 工程和企业成员的基本单位。
关键词:

Copyright ©  2015-2022 北冰洋美食网版权所有  备案号:沪ICP备2020036824号-3   联系邮箱:562 66 29@qq.com