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

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
5天前
|
jenkins 持续交付 开发者
利用Docker容器化部署应用的实战指南
【6月更文挑战第27天】本文详述Docker应用部署,涵盖Docker基本概念、安装、镜像制作及运行。通过编写Dockerfile构建镜像,使用`docker build`、`run`、`push`及`stop`命令管理。集成CI/CD工具如Jenkins,实现自动化构建、测试和部署,提升开发效率与部署质量。Docker助力轻量级、可移植的微服务架构。
|
29天前
|
容器 Perl Kubernetes
深入 Kubernetes 网络:实战K8s网络故障排查与诊断策略
本文介绍了Kubernetes网络的基础知识和故障排查经验,重点讨论了私有化环境中Kubernetes网络的挑战。首先,文章阐述了Kubernetes网络模型的三大核心要素:Pod网络、Service网络和CNI,并强调了其在容器通信和服务发现中的作用。接着,通过三个具体的故障案例,展示了网络冲突、主节点DNS配置更改导致的服务中断以及容器网络抖动问题的解决过程,强调了网络规划、配置管理和人员培训的重要性。最后,提到了KubeSkoop exporter工具在监控和定位网络抖动问题中的应用。通过这些案例,读者可以深入了解Kubernetes网络的复杂性,并学习到实用的故障排查方法。
146306 18
|
12天前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
|
14天前
|
运维 Kubernetes Cloud Native
云原生时代的技术革命:Kubernetes与容器编排
【6月更文挑战第17天】在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的核心力量。本文将深入探讨Kubernetes作为云原生生态中的佼佼者,如何引领容器编排的技术革命,并分析其在现代应用部署、管理和扩展中的关键作用。通过实例和案例分析,我们将揭示Kubernetes如何助力企业实现更高效、灵活和可靠的云原生应用管理。
|
21天前
|
Kubernetes 前端开发 Serverless
Serverless 应用引擎产品使用合集之如何调用Kubernetes集群内服务
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
26天前
|
运维 Kubernetes Java
Java一分钟之Kubernetes(K8s):容器编排深入浅出
【6月更文挑战第6天】Kubernetes是容器编排的主流工具,简化分布式系统运维。本文介绍了K8s核心概念:节点、Pod、服务、部署和副本集。讨论了资源不足、依赖服务未就绪等常见问题及其解决策略,并提供创建Deployment的代码示例。学习K8s能提升部署效率和运维灵活性。
129 5
|
4天前
|
Kubernetes 监控 Java
阿里云云效产品使用问题之进行Kubernetes分批发布时应用名被更改,是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5天前
|
Prometheus 监控 Kubernetes
一篇文章讲明白Kubernetes(k8s)部署Promehteus监控
一篇文章讲明白Kubernetes(k8s)部署Promehteus监控
12 0
|
2月前
|
运维 Kubernetes 调度
【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
|
16天前
|
SQL Kubernetes 数据处理
实时计算 Flink版产品使用问题之在 flink-conf.yaml 中定义的配置在某些情况下未被正确应用到 K8s 上运行的任务管理器(JobManager)和任务管理节点(TaskManager),是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。