import (
"context"
"fmt"
infinimeshv1beta1 "github.com/infinimesh/operator/pkg/apis/infinimesh/v1beta1"
v1beta1 "k8s.io/api/batch/v1beta1"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
)
func (r *ReconcilePlatform) reconcileResetRootAccount(request reconcile.Request, instance *infinimeshv1beta1.Platform) error {
log := logger.WithName("Reset Root Account Pwd")
job := &v1beta1.CronJob{
ObjectMeta: metav1.ObjectMeta{
Name: "example",
},
Spec: v1beta1.CronJobSpec{
Schedule: "* * * * *",
ConcurrencyPolicy: v1beta1.ForbidConcurrent,
JobTemplate: v1beta1.JobTemplate{
Spec: v1beta1.JobTemplateSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
RestartPolicy: "Never",
Containers: []corev1.Container{
{
Name: "cli",
Image: "busybox",
Command: []string{
"/bin/bash",
"-c",
"echo 1",
},
ImagePullPolicy: "Always",
},
},
},
},
},
},
},
}
Я получаю ошибку здесь
JobTemplate: v1beta1.JobTemplate{
Spec: v1beta1.JobTemplateSpec{
Template: corev1.PodTemplateSpec{
как может быть, я не определяю это правильно. Пожалуйста, помогите мне правильно создать cronjob в Go. Вы также можете написать свой собственный способ написания cronjobs в golang, так как я хочу автоматизировать cronjob в операторе kubernetes, так как при перезапуске платформы cronjob будет создаваться автоматически.