首页 > 其他分享 >批处理及有状态等应用类型在 K8S 上应该如何配置?

批处理及有状态等应用类型在 K8S 上应该如何配置?

时间:2022-12-05 09:57:27浏览次数:67  
标签:批处理 配置 应用程序 应用 Operator K8S 节点 运行

众所周知, Kubernetes(K8S)更适合运行无状态应用, 但是除了无状态应用. 我们还会有很多其他应用类型, 如: 有状态应用, 批处理, 监控代理(每台主机上都得跑), 更复杂的应用(如:hadoop 生态...). 那么这些应用可以在 K8S 上运行么? 如何配置?

其实, K8S 针对这些都有对应的不同的运行方式. 您要做的, 就是考虑您的应用程序类型会如何影响其运行方式.

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

  • 是为了完成任务。一个典型例子是一个应用程序,启动时会跑一批数据,并在批处理执行完成后退出。该应用程序可能会定期运行(如每月)。对于这种类型的应用程序,合适的 Kubernetes (或 OpenShift) 容器平台对象包括 JobsCronJob  对象。

  • 长时间一直运行. 对于长时间运行的应用程序,可以编写 Deployment。(当然啦, 最好是无状态的)

  • 需要在每个节点上运行。某些类型的 Kubernetes 应用程序需要在群集中的每个主节点(master)或工作节点(worker)上运行。DNS 和监控的应用程序是需要在每个节点上连续运行的应用程序的典型例子。您可以将这种类型的应用程序作为 DaemonSet 运行。您还可以基于节点标签(node labels)在部分符合条件的节点上运行 DaemonSet。

  • 复杂的应用, 或需要全生命周期管理。当您要移交应用程序以便其他运维人员可以很方便地使用它时,请考虑创建一个Operator (类似 HELM Charts, 区别是 HELM 只负责安装, Operator 除了安装, 还多了全生命周期管理)。Operator 可让您构建智能的应用,因此它可以自动处理备份和升级之类的事情。与 Operator Lifecycle Manager(Operator 生命周期管理器, 简称:OLM)结合使用,集群管理者可以将 Operator 暴露给特定的 namespace,以便集群中的用户可以运行它们。示例有:

OperatorHub

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

{% note success %}

标签:批处理,配置,应用程序,应用,Operator,K8S,节点,运行
From: https://www.cnblogs.com/east4ming/p/16951519.html

相关文章

  • K8S核心技术
    一、命令行工具Kubectlkubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署1、基本语法kubectl[co......
  • echart 圆环图配置
    echart版本:5.4.0 let current = 0; // 当前用量let all = 100; // 总量let option = {    animation:false,    backgroundColor:"transpare......
  • [k8s] 删除Terminating状态的namespace
    ns=ingress-nginxkubectlgetnamespace$ns-ojson>tmp.jsonkubectlproxy--port=8081另起一个连接curl-k-H"Content-Type:application/json"-XPUT--data......
  • Kubernetes(K8S) helm 安装
    Helm是一个Kubernetes的包管理工具,就像Linux下的包管理器,如yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上。Helm有3个重要概念:helm......
  • HCIA学习笔记四十八:CHAP认证配置
    一、PAP认证和CHAP认证• PAP(PasswordAuthenticationProtocol密码认证协议)• PAP是简单认证,明文传送,客户端直接发送包含用户名/口令的认证请求,服务器端处理并回应......
  • HCIA学习笔记四十七:HDLC&PPP原理及配置
    一、串行链路的数据传输方式二、HDLC2.1、HDLC协议应用• High-levelDataLinkControl,高级数据链路控制,简称HDLC,是一种面向比特的链路层协议。 2.2、HDLC基本配......
  • spring 动态获取配置spring获取所有配置spring运行中获取配置列表
    1:在任何springbean中注入PropertySourcesPlaceholderConfigurer对象,如:@AutowiredPropertySourcesPlaceholderConfigureraa; 2:获取当前配置中的值ObjectgetProp......
  • Nacos配置管理
    Nacos除了可以做注册中心,同样可以做配置管理来使用。1.统一配置管理当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需......
  • 深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」
    什么是Nginx?Nginx(EngineX)是一个轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器、高性能的HTTP服务器,它以高稳定性、丰富的功能集、示例配置文件......
  • git gitignore文件配置规则
    #表示此为注释,将被Git忽略*.a表示忽略所有.a结尾的文件!lib.a表示但lib.a除外/TODO表示仅仅忽略项目根目录下的......