我在 NodeJS 类中创建 Kubernetes 作业 导入库后@kubernetes/client-node
,我创建了一个对象以使用BatchV1Api
函数内的模块,我将其导出到其他类,在该类中我定义了 Kubernetes 作业的主体,如下所示:
//listJobs.js
import { post } 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 = post();
kubeClient.createNamespacedJob('default', newJob);
ctx.body = {
// listConfigMap: (await kubeClient.listConfigMapForAllNamespaces()).body,
listJobs: (await kubeClient.listJobForAllNamespaces()).body,
// listService: (await kubeClient.listServiceForAllNamespaces()).body,
};
};
export default kubeRoute;
然后我创建了一个路由器类来请求 post 方法,例如:
import post from './listJobs.js';
const apiRouter = new Router();
apiRouter.post('/api/v1/newJob', post);
当在 postman 中执行应用程序并请求路由localhost:3000/api/v1/newJob
作为 post 请求时,它422
在 vs code 终端中显示状态代码(有一些很长的输出,如屏幕截图所示)和 postman 正文中的一些 Kubernetes 信息,但它没有创建任何工作或吊舱。
有谁知道,为什么422
最后有代码?