Creé una API de backend de nodejs para acceder a la API del servidor de Kubernetes usando la biblioteca @kubernetes/client-node. Básicamente, tengo dos archivos, primero estoy llamando al archivo de configuración de k8s para acceder a la API y se ve así:
import k8s from '@kubernetes/client-node'; let kubeAPI = null; const createKubeAPI = async () => { const kc = new k8s.KubeConfig(); // kc.loadFromDefault(); const path = './config/k8sConfig.yaml'; console.log(path); kc.loadFromFile(path); const k8sApi = kc.makeApiClient(k8s.BatchV1Api); return k8sApi; }; export const get = () => kubeAPI; export const create = async () => { kubeAPI = await createKubeAPI(); };y en el segundo archivo he definido el cuerpo del trabajo (es solo un ejemplo que encontré en Google) y se ve así:
import { get } from '../kubeClient.js'; const kubeRoute = async (ctx) => { const newJob = { metadata: { name: 'countdown', }, spec: { template: { metadata: { name: 'countdown', }, spec: { containers: [{ name: 'counter', image: 'centos:7', command: ['/bin/bash', '-c', 'for i in 9 8 7 6 5 4 3 2 1 ; do echo $i ; done'], }], restartPolicy: 'Never', }, }, }, }; const kubeClient = get(); kubeClient.createNamespacedJob('default', newJob); }; export default kubeRoute;Está funcionando bien, pero ahora necesito implementar el backend dentro del proyecto NextJS para que no necesite iniciar la API backend en un host específico. Dentro del proyecto NextJS, ¿necesito crear una nueva carpeta en la raíz y colocar estos archivos de código allí o dentro de la carpeta pages/api/? ¿Puede alguien ayudarme en esto?