Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

158
Vistas
kubernetes-client javascript - crear trabajo desde cronjob

Cuál será el equivalente a la creación de un puesto de trabajo:

 kubectl -n my-ns create job --from=cronjob/my-cron-job my-job

usando javascript kubernetes-client ?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No, desafortunadamente no puedes.

Verifique mi respuesta anterior en Crear trabajo desde cronjob en la pregunta del archivo .yaml de kubernetes .

En resumen: puede hacer eso (crear trabajo desde cronjob) solo usando kubectl cli


Manera de crear un trabajo regular, sin --from=cronjob :

 const k8s = require('@kubernetes/client-node'); const kc = new k8s.KubeConfig(); kc.loadFromCluster(); const k8sBatchV1Api = kc.makeApiClient(k8s.BatchV1Api); //creation of the job k8sBatchV1Api.createNamespacedJob('dev', { apiVersion: 'batch/v1', kind: 'Job', metadata: { ... } }, spec: { ... } } }}).catch(e => console.log(e))

El ejemplo se tomó de la respuesta de @Popopame en Cómo crear un trabajo y un secreto de Kubernetes Javascript Client

over 4 years ago · Santiago Trujillo Denunciar

0

Encontré la solución a mi pregunta, con la ayuda de este comentario .

Así es como se ve con javascript kubernetes-client , usado en un pod dentro del clúster (es posible que se necesite el permiso rbac, estoy ejecutando en k8s docker-desktop, así que no lo necesitaba):

 const createJobFromCronJob = async ( cronJobNamespace: string, cronJobName: string, jobNamespace: string, jobName: string) => { // next 4 lines can be initialized somewhere else const kubeConfig = new k8s.KubeConfig(); kubeConfig.loadFromCluster(); const batchV1Api = kubeConfig.makeApiClient(k8s.BatchV1Api); const batchV1beta1Api = kubeConfig.makeApiClient(k8s.BatchV1beta1Api); try { const cronJob = await batchV1beta1Api.readNamespacedCronJob(cronJobName, cronJobNamespace); const cronJobSpec = cronJob.body.spec.jobTemplate.spec; const job = new k8s.V1Job(); const metadata = new k8s.V1ObjectMeta(); job.apiVersion = 'batch/v1'; job.kind = 'Job'; job.spec = cronJobSpec; metadata.name = jobName; metadata.annotations = { 'cronjob.kubernetes.io/instantiate': 'manual', }; job.metadata = metadata; const result = await batchV1Api.createNamespacedJob(jobNamespace, job); console.log('job created'); } catch (err) { console.error(`failed to create job: ${err.message}`); throw err; } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda