kubernetes(k8s)应用篇之 kubesphere

简介: kubesphere在公司使用的介绍

公司的所有java项目(微服务)基本上都采用kubesphere来进行CD/CI的持续集成管理,关于kubesphere的资料,大家可以上它的官网:kubesphere.cloud/ 进行查看。

一、引入kubesphere的背景

在17〜18年这段时间中,随着公司电商业务的发展,单体项目在开发及运维、扩展等方式都遇到了瓶劲,为了提升效率,降低复杂度,可视化监控等目标,引入了kubernetes,从早期单纯依靠jenkins打包部署到服务器上的虚拟机上,调整为通过jenkins + kubernetes这样的集成部署方式(引入jenkins,解决了在拆分微服务后,手工进行项目的打包,上传,启动等复杂的过程)。

调整完后,有时需要去了解kubernetes上各个节点及资源的使用情况,需要通过后台输入命令的方式来进行查看,不够直观,一直想有没有什么可视化的工具来管理,最好也能把流水线管理起来,做到按不同人不同权限来进行分配与管理。

二、发现 kubeSphere

在一个偶然的时候,在查找kubernetes的信息时,发展了一个kubeSphere的管理平台,当初的版本是2.几,通过对kubesphere的调研与分析,发展很适合公司的开发与运管理,随后就按排运维人员进行研究与搭建。

kubesphere从使用上来说,有以下的功能很不错:

  • 支持多租户(企业空间)的方式进行管理;
  • 对kubernetes提供界面层的操作与调度(让你摒弃命令行的操作);
  • 可视化监控界面,可以实时了解整个集群资源/pod等的使用情况;
  • 通过集成kubersphere-devops-system,提供可视化 CI/CD 流水线。
  • 支持按不同人员分开权限进行部署及运维管理(这点很重要,按不同开发人员进行发布配置权限);
  • 多维度监控告警日志;
  • 提供可视化的界面来查看每个pod中运行服务的日志,不需要让开发人员去登录服务器查看了;
  • 服务岩机自动恢复等。

以上是我觉得不错的地方,公司现有服务都托管在这个上面。

三、 KubeSphere初使用

目前公司的KubeSphere是采用集群方式,共有5个master节,31个从节点。
集群情况
image.png

项目划分情况
image.png

企业空间情况
image.png

四、KubeSphere中的用户关系

在KubeSphere中,帐号是独立管理的,通过添加或授权的方式,添加到不同的企业空间,项目组中,帐号要么由管理员创建,要么由具备users-manager权限的用户进行创建。除非特殊情况,一般创建的角度默认分配platform-regular角度就可以。
image.png

帐号创建完后,他只是一个帐号,要将帐号添加到企业空间中,才具备相应项目的权限,如下:
image.png

成为企业成员后,帐号才能被添加到“项目管理”, “DevOps工程“中。项目管理,是对本企业空间下的各个kubernetes的namespace进行管理。每个namespace就是具体部署的pod容器了。
DevOps工程,是部署流水线管理,负责编辑各种流水线部署任务,来进行服务的部署。
image.png

进入到每个流水线管理,又可以新建很多的发布任务
image.png

可以关注“凭证”,“工程角色”,“工程成员”,“创建”的功能。一般情况:

  • 凭证:这里负责管理各种帐号密码,比如连接git的帐号密码, harbor的帐号密码,kubeconfig等。
  • 工程角色:平台有提供默认的角色,也可以根据实际的需要进行创建与分配。一般admin的角色,可以看到本流水线工程下所有的发布任务。
  • 工程成员:管理本流水线工程的操作者(帐号),只有加入进来后,才有权限看到发布的任务。

    五、流水线配置

    提供界面化的流水线发布配置(简化了jenkins的配置),可以通过直接编辑jenkinsfile ,也可以通过编辑流水线(拉拖的试)来进行配置。
    image.png

当配置完成后,就可以点击”运行“,就可以实现自动化部署。从gitlab拉取代码,然后在容器中进行编译打包,发布到harbor私仓中,通过kubernetes的yaml文件实现拉取及部署到指定的节点上。

六、总线

使用KubeSphere后,项目的开发及部署清晰可见,不同人不同权限进行管理,发布日志有依可巡。后面都推广到了前端项目中去,让前告别打包上传的痛苦。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
8天前
|
Kubernetes 应用服务中间件 nginx
二进制安装Kubernetes(k8s)v1.32.0
本指南提供了一个详细的步骤,用于在Linux系统上通过二进制文件安装Kubernetes(k8s)v1.32.0,支持IPv4+IPv6双栈。具体步骤包括环境准备、系统配置、组件安装和配置等。
95 10
|
12天前
|
人工智能 Kubernetes 安全
赋能加速AI应用交付,F5 BIG-IP Next for Kubernetes方案解读
赋能加速AI应用交付,F5 BIG-IP Next for Kubernetes方案解读
53 13
|
12天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
26天前
|
Kubernetes Cloud Native API
深入理解Kubernetes——容器编排的王者之道
深入理解Kubernetes——容器编排的王者之道
41 1
|
1月前
|
存储 运维 Kubernetes
K8s业务迁移最佳实践: 灵活管理资源备份与调整策略,实现高效简便的应用恢复
在当今快速变化的云原生领域,Kubernetes(K8s)集群的运维面临着诸多挑战,其中灾备与业务迁移尤为关键。ACK备份中心支持丰富的资源调整策略,在数据恢复阶段即可自动适配目标集群环境,确保业务无缝重启。
|
1月前
|
Kubernetes Cloud Native 持续交付
深入理解Kubernetes:容器编排的基石
深入理解Kubernetes:容器编排的基石
|
1月前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
1月前
|
Kubernetes 监控 安全
容器化技术:Docker与Kubernetes的实战应用
容器化技术:Docker与Kubernetes的实战应用
|
1月前
|
Java Docker 微服务
利用Docker容器化部署Spring Boot应用
利用Docker容器化部署Spring Boot应用
49 0
|
Kubernetes 容器
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(五)
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(五)
160 0
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(五)