Насколько я понимаю, я думаю, что вы должны использовать ReplicaSet .
Вы должны создать два ReplicaSet, первый для задачи A , а второй для задача B .
Набор ReplicaSet определен с полями, включая селектор, который указывает, как идентифицировать блоки, которые он может приобрести, количество реплик, указывающих, сколько пакетов он должен поддерживать, и шаблон модуля, указывающий данные новых модулей, которые он должен создать для соответствия критерию количества реплик. Затем ReplicaSet выполняет свое предназначение, создавая и удаляя блоки по мере необходимости для достижения желаемого числа. Когда ReplicaSet требуется для создания новых модулей, он использует свой шаблон модуля.
Ссылка, который ReplicaSet имеет на свои модули, осуществляется через поле metadata.ownerReferences модуля, которое указывает, какому ресурсу принадлежит текущий объект. Все блоки, приобретенные ReplicaSet, имеют свою идентификационную информацию ReplicaSet в своем поле ownerReferences. Именно по этой ссылке ReplicaSet знает о состоянии модулей, которые он поддерживает, и планирует соответственно.
ReplicaSet идентифицирует новые модули, которые необходимо приобрести с помощью своего селектора. Если есть Pod, у которого нет OwnerReference или OwnerReference не является Controller, и он соответствует селектору ReplicaSet, он будет немедленно получен указанным ReplicaSet.
ReplicaSet отвечает за выполнение указанного числа под реплики в любой момент времени.
Вот простой файл конфигурации yaml для ReplicaSet:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: example
labels:
app: guestbook
tier: eg
spec:
replicas: 1 #provided appreciated amount of replicas
selector:
matchLabels:
tier: eg
template:
metadata:
labels:
tier: eg
spec:
containers:
- name: php
image: gcr.io/google_samples/gb-frontend:v3