贝利信息

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

日期:2025-06-29 00:00 / 作者:絕刀狂花

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

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

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

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

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

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

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