toleration = k8s_client.V1Toleration(
key="temporary",
operator="Equal",
value="true",
effect="NoSchedule"
)
template = k8s_client.V1PodTemplateSpec(
metadata=k8s_client.V1ObjectMeta(labels={"app": "ml"}),
spec=k8s_client.V1PodSpec(
restart_policy="Never",
containers=[container],
node_selector={"cloud.google.com/gke-accelerator": "nvidia-tesla-t4"},
affinity=k8s_client.V1Affinity(
pod_anti_affinity=k8s_client.V1PodAntiAffinity(
required_during_scheduling_ignored_during_execution=[
k8s_client.V1PodAffinityTerm(
label_selector=k8s_client.V1LabelSelector(
match_expressions=[
k8s_client.V1LabelSelectorRequirement(
key="app",
operator="In",
values=["ml"]
)
]
),
topology_key="kubernetes.io/hostname",
)
]
)
),
tolerations=[toleration]
)
)