房间热播计算任务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.4 KiB

2 years ago
package test
import (
"context"
k8sclient "git.gz.internal.jumaiyx.cn/pkg/k8s-client"
"git.gz.internal.jumaiyx.cn/pkg/log"
v1 "k8s.io/api/batch/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"testing"
)
// pods=$(kubectl get pods --selector=job-name=room-hot-compute-job --output=jsonpath='{.items[*].metadata.name}')
// echo $pods
func TestCreateJob(t *testing.T) {
l := log.DefaultLogger()
job, err := k8sclient.NewJob(k8sclient.DevNamespace, l)
if err != nil {
t.Fatal(err)
}
ctx := context.TODO()
ttl := int32(60)
ttls := int64(60)
_, err = job.Create(ctx, &v1.Job{
ObjectMeta: metav1.ObjectMeta{
Name: "room-hot-compute-job",
Namespace: k8sclient.DevNamespace,
},
Spec: v1.JobSpec{
ActiveDeadlineSeconds: &ttls,
TTLSecondsAfterFinished: &ttl,
Template: corev1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Name: "room-hot-compute-job",
Labels: map[string]string{
"app": "room-job",
},
},
Spec: corev1.PodSpec{
RestartPolicy: corev1.RestartPolicyNever,
Containers: []corev1.Container{
{
Name: "room-hot-compute-job",
Image: "registry.internal.jumaiyx.cn/job/room-hot-compute:v1.0.0",
},
},
ImagePullSecrets: []corev1.LocalObjectReference{
{
Name: k8sclient.DockerRegistryHarbor,
},
},
},
},
},
})
if err != nil {
t.Fatal(err)
}
}