Amazon web services AWS EKS K8s服务和CronJob/Jon同一节点

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作业与服务转到同一节点 这在我的低级环境中不是一个问题,因为我们只有很少的节点,但在我们有更多节点的生产环境中,这是一个问题

我有一个k8s部署,它由cron作业(每小时运行一次)、服务(运行http服务)和存储类(使用gp2存储数据的pvc)组成

我看到的问题是gp2只是可读写的

我注意到,当cron作业创建一个作业并与服务降落在同一个节点上时,它可以很好地装载它

在服务、部署或cron作业yaml中,我是否可以做些什么来确保cron作业和服务始终位于同一节点上?它可以是任何节点,但只要cron作业与服务转到同一节点

这在我的低级环境中不是一个问题,因为我们只有很少的节点,但在我们有更多节点的生产环境中,这是一个问题

简言之,我想要得到我的cron作业,它创建一个作业,然后在我的服务pod所在的节点上运行pod

我知道这不是最佳实践,但我们的Web服务从pvc读取数据并提供服务。cron作业从其他来源拉入新数据,并将其留给web服务器

对其他想法/方式感到高兴


谢谢

只关注零件:

如何在一组特定的
节点上安排工作负载(
Pod
Job
Cronjob

您可以使用以下任一方法生成
Cronjob
/
作业

  • 节点选择器
  • nodeAffinity

节点选择器
nodeSelector
是推荐的最简单的节点选择约束形式<代码>节点选择器
是PodSpec的一个字段。它指定键值对的映射。为了使pod有资格在节点上运行,节点必须将每个指示的键值对作为标签(也可以有其他标签)。最常见的用法是一个键值对

--

示例如下(假设您的节点有一个特定标签,该标签在
.spec.jobTemplate.spec.template.spec.nodeSelector
中引用):

apiVersion:batch/v1beta1
种类:克朗乔
元数据:
姓名:你好
规格:
附表:“*/1****”
作业模板:
规格:
模板:
规格:

节点选择器:#您好,您是否尝试将标签添加到
节点
,并使用使用该标签的
.spec.nodeSelector
字段运行
Cronjob
?你可以在这里读到更多关于它的信息:是的,这就是我发现的!请随便回答这个问题!