Amazon web services AWS EKS K8s服务和CronJob/Jon同一节点
我有一个k8s部署,它由cron作业(每小时运行一次)、服务(运行http服务)和存储类(使用gp2存储数据的pvc)组成 我看到的问题是gp2只是可读写的 我注意到,当cron作业创建一个作业并与服务降落在同一个节点上时,它可以很好地装载它 在服务、部署或cron作业yaml中,我是否可以做些什么来确保cron作业和服务始终位于同一节点上?它可以是任何节点,但只要cron作业与服务转到同一节点 这在我的低级环境中不是一个问题,因为我们只有很少的节点,但在我们有更多节点的生产环境中,这是一个问题 简言之,我想要得到我的cron作业,它创建一个作业,然后在我的服务pod所在的节点上运行pod 我知道这不是最佳实践,但我们的Web服务从pvc读取数据并提供服务。cron作业从其他来源拉入新数据,并将其留给web服务器 对其他想法/方式感到高兴Amazon web services AWS EKS K8s服务和CronJob/Jon同一节点,amazon-web-services,kubernetes,cron,amazon-eks,k8s-cronjobber,Amazon Web Services,Kubernetes,Cron,Amazon Eks,K8s Cronjobber,我有一个k8s部署,它由cron作业(每小时运行一次)、服务(运行http服务)和存储类(使用gp2存储数据的pvc)组成 我看到的问题是gp2只是可读写的 我注意到,当cron作业创建一个作业并与服务降落在同一个节点上时,它可以很好地装载它 在服务、部署或cron作业yaml中,我是否可以做些什么来确保cron作业和服务始终位于同一节点上?它可以是任何节点,但只要cron作业与服务转到同一节点 这在我的低级环境中不是一个问题,因为我们只有很少的节点,但在我们有更多节点的生产环境中,这是一个问题
谢谢只关注零件: 如何在一组特定的
节点上安排工作负载(Pod
,Job
,Cronjob
)
您可以使用以下任一方法生成Cronjob
/作业
:
节点选择器
nodeAffinity
节点选择器
nodeSelector
是推荐的最简单的节点选择约束形式<代码>节点选择器
是PodSpec的一个字段。它指定键值对的映射。为了使pod有资格在节点上运行,节点必须将每个指示的键值对作为标签(也可以有其他标签)。最常见的用法是一个键值对
--
示例如下(假设您的节点有一个特定标签,该标签在.spec.jobTemplate.spec.template.spec.nodeSelector
中引用):
apiVersion:batch/v1beta1
种类:克朗乔
元数据:
姓名:你好
规格:
附表:“*/1****”
作业模板:
规格:
模板:
规格:
节点选择器:#您好,您是否尝试将标签添加到节点
,并使用使用该标签的.spec.nodeSelector
字段运行Cronjob
?你可以在这里读到更多关于它的信息:是的,这就是我发现的!请随便回答这个问题!