0

0

分分钟搞定各种应用类型在k8s上的运行配置!

絕刀狂花

絕刀狂花

发布时间:2025-06-29 08:16:01

|

740人浏览过

|

来源于php中文网

原创

在kubernetes (k8s) 上运行各种类型的应用是完全可行的。关键在于根据应用的具体需求选择合适的k8s资源类型。以下是如何在k8s上配置不同类型应用的详细指南:

分分钟搞定各种应用类型在k8s上的运行配置!

众所周知,Kubernetes(K8S)更适合运行无状态应用,但除了无状态应用外,我们还会遇到许多其他应用类型,如有状态应用、批处理、监控代理(每台主机上都需要运行)以及更复杂的应用(如Hadoop生态系统)。这些应用如何在K8S上运行呢?如何进行配置?

实际上,K8S为这些不同的应用类型提供了相应的运行方式。您需要做的就是考虑您的应用程序类型如何影响其运行方式。

Kubernetes定义了适用于不同类型应用程序的不同类型的工作负载。要确定适合您的应用程序的工作负载,请根据如下思路来思考您的应用程序:

美图AI开放平台
美图AI开放平台

美图推出的AI人脸图像处理平台

下载
  • 是为了完成任务。 一个典型例子是一个应用程序,启动时会跑一批数据,并在批处理执行完成后退出。该应用程序可能会定期运行(如每月)。对于这种类型的应用程序,合适的Kubernetes(或OpenShift)容器平台对象包括Jobs和CronJob对象。
  • 长时间一直运行。 对于长时间运行的应用程序,可以编写Deployment或DeploymentConfig。(当然,最好是无状态的)
  • 要求高可用。 如果您的应用程序需要高可用,那么您需要调整部署的数量以具有多个实例。DeploymentDeploymentConfig资源类型可以包括ReplicaSet。借助ReplicaSet,Pod可以在多个节点上运行,以确保即使其中的一个或某几个程序中断,这个应用程序始终还是可用的。
  • 需要在每个节点上运行。 某些类型的Kubernetes应用程序需要在群集中的每个主节点(master)或工作节点(worker)上运行。DNS和监控的应用程序是需要在每个节点上连续运行的应用程序的典型例子。您可以将这种类型的应用程序作为DaemonSet运行。您还可以基于节点标签(node labels)在部分符合条件的节点上运行DaemonSet。
  • 复杂的应用,或需要全生命周期管理。 当您要移交应用程序以便其他运维人员可以很方便地使用它时,请考虑创建一个Operator(类似HELM Charts,区别是HELM只负责安装,Operator除了安装,还多了全生命周期管理)。Operator可让您构建智能的应用,因此它可以自动处理备份和升级之类的事情。与Operator Lifecycle Manager(Operator生命周期管理器,简称:OLM)结合使用,集群管理者可以将Operator暴露给特定的namespace,以便集群中的用户可以运行它们。示例有:

分分钟搞定各种应用类型在k8s上的运行配置!

WebLogic集群...Redis集群...Elasticsearch集群...Spark集群...MongoDB的副本集,碎片集群...TiDB集群...Prometheus...Istio...Kafka集群...

  • 有身份或编号要求。 应用程序可能具有身份要求或编号要求。例如,您可能需要运行该应用程序的不多不少刚好三个实例,并且实例命名为012。那么StatefulSet是适合于这种应用。StatefulSet对于需要独立存储的应用程序(例如数据库和Zookeeper群集)最有用。

总结起来,就是有状态的应用就选择StatefulSet。

应用类型 K8S 资源类型 备注
Job、批处理 Jobs CronJob
长时间运行的无状态应用 Deployment DeploymentConfig DeploymentConfig是OpenShift特有的
长时间运行的无状态应用- 高可用 Deployment里加ReplicaSet字段
需要在每个节点上运行的应用 DaemonSet
复杂的应用,或需要全生命周期管理的应用 Operator Helm Charts也适用于安装复杂应用
有状态应用 StatefulSet

相关专题

更多
kafka消费者组有什么作用
kafka消费者组有什么作用

kafka消费者组的作用:1、负载均衡;2、容错性;3、广播模式;4、灵活性;5、自动故障转移和领导者选举;6、动态扩展性;7、顺序保证;8、数据压缩;9、事务性支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

167

2024.01.12

kafka消费组的作用是什么
kafka消费组的作用是什么

kafka消费组的作用:1、负载均衡;2、容错性;3、灵活性;4、高可用性;5、扩展性;6、顺序保证;7、数据压缩;8、事务性支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

149

2024.02.23

rabbitmq和kafka有什么区别
rabbitmq和kafka有什么区别

rabbitmq和kafka的区别:1、语言与平台;2、消息传递模型;3、可靠性;4、性能与吞吐量;5、集群与负载均衡;6、消费模型;7、用途与场景;8、社区与生态系统;9、监控与管理;10、其他特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

201

2024.02.23

hadoop是什么
hadoop是什么

hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。本专题为大家免费提供hadoop相关的文章、下载和课程。

207

2023.06.30

hadoop三大核心组件介绍
hadoop三大核心组件介绍

Hadoop的三大核心组件分别是:Hadoop Distributed File System(HDFS)、MapReduce和Yet Another Resource Negotiator(YARN)。想了解更多hadoop的相关内容,可以阅读本专题下面的文章。

394

2024.03.13

hadoop的核心
hadoop的核心

hadoop的核心由分布式文件系统 (hdfs) 和资源管理框架 (mapreduce) 组成。想了解更多hadoop的相关内容,可以阅读本专题下面的文章。

331

2024.05.16

Java 大数据处理基础(Hadoop 方向)
Java 大数据处理基础(Hadoop 方向)

本专题聚焦 Java 在大数据离线处理场景中的核心应用,系统讲解 Hadoop 生态的基本原理、HDFS 文件系统操作、MapReduce 编程模型、作业优化策略以及常见数据处理流程。通过实际示例(如日志分析、批处理任务),帮助学习者掌握使用 Java 构建高效大数据处理程序的完整方法。

121

2025.12.08

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

972

2023.11.02

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

Redis+MySQL数据库面试教程
Redis+MySQL数据库面试教程

共72课时 | 6.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号