开发者社区> 问答> 正文

Kubernetes在目录中并行化多个样本

我能够在AKS上运行kubernetes工作(使用docker hub image处理生物样本,然后将输出上传到blob存储 - 这是通过我在yaml文件的args部分提供的bash命令完成的)。但是,我有20个样本,并且想要启动20个节点,以便我可以并行处理样本(每个节点一个样本)。如何将每个样本发送到不同的节点?yaml文件中的“parallelism”选项处理20个节点中每个节点上的所有20个样本,这不是我想要的。

展开
收起
k8s小能手 2018-12-14 14:27:54 2727 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    image"如果您希望作业的每个实例都在不同的节点上,您可以使用daemonSet,这正是它所做的,为每个工作节点提供1个pod。

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
    name: fluentd-elasticsearch
    namespace: kube-system
    labels:

    k8s-app: fluentd-logging

    spec:
    selector:

    matchLabels:
      name: fluentd-elasticsearch

    template:

    metadata:
      labels:
        name: fluentd-elasticsearch
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      containers:
      - name: fluentd-elasticsearch
        image: k8s.gcr.io/fluentd-elasticsearch:1.20
        resources:
          limits:
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
        volumeMounts:
        - name: varlog
          mountPath: /var/log
        - name: varlibdockercontainers
          mountPath: /var/lib/docker/containers
          readOnly: true
      terminationGracePeriodSeconds: 30
      volumes:
      - name: varlog
        hostPath:
          path: /var/log
      - name: varlibdockercontainers
        hostPath:
          path: /var/lib/docker/containers

    https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

    另一种方法 - 使用pod antiaffinity:

    affinity:

    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchExpressions:
              - key: ""app""
                operator: In
                values:
                - zk
          topologyKey: ""kubernetes.io/hostname""

    requiredDuringSchedulingIgnoredDuringExecution字段告诉Kubernetes Scheduler它永远不应该在topologyKey定义的域中共同定位两个具有app标签为zk的Pod。topologyKey kubernetes.io/hostname表示域是单个节点。使用不同的规则,标签和选择器,您可以扩展此技术,以跨物理,网络和电源故障域传播整体"

    2019-07-17 23:20:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像