kubernetes(k8s)应用篇之 kubesphere

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 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搭建和管理企业级网站应用
目录
相关文章
|
24天前
|
存储 Kubernetes 持续交付
介绍一下Kubernetes的应用场景
【10月更文挑战第18天】介绍一下Kubernetes的应用场景。
109 3
|
5天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
5天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
13天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
51 1
|
15天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
47 4
|
16天前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
48 3
|
22天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
1月前
|
Kubernetes API 调度
中间层 k8s(Kubernetes) 到底是什么,架构是怎么样的?
中间层 k8s(Kubernetes) 到底是什么,架构是怎么样的?
45 3
|
24天前
|
存储 Kubernetes 监控
深度解析Kubernetes在微服务架构中的应用与优化
【10月更文挑战第18天】深度解析Kubernetes在微服务架构中的应用与优化
91 0
|
24天前
|
运维 Kubernetes 负载均衡
深入探索Kubernetes在微服务架构中的应用
【10月更文挑战第18天】深入探索Kubernetes在微服务架构中的应用
59 0