【发布时间】:2022-03-17 05:07:35
【问题描述】:
我正在开发一个 NextJS 项目来创建一个 Kubernetes 作业。为了在 minikube 上创建作业,我使用了通常在启动 minikube 时生成的 config.yaml。所以我使用同一个文件来连接 Kubernetes API。 现在要与 kubernetes(minikube) 建立连接,我使用以下代码:
import k8s from "@kubernetes/client-node";
let kubeAPI = null;
const createKubeAPI = async () => {
const kc = new k8s.KubeConfig();
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();
};
在另一个 .js 文件中,通过使用上面代码中创建的函数创建一个新作业或显示正在运行的作业。
但是当运行上面的代码时,它显示错误。完整的错误如下所示:
event - compiled client and server successfully in 7.4s (224 modules)
null
error - utils\kube-utils\kubeClient.js (6:17) @ createKubeAPI
TypeError: Cannot read properties of undefined (reading 'KubeConfig')
4 |
5 | const createKubeAPI = async () => {
> 6 | const kc = new k8s.KubeConfig();
| ^
7 | // kc.loadFromDefault();
8 | const path = "../config/k8sConfig.yaml";
9 | console.log(path);
有人可以帮助我或指导我吗,我在这里做错了什么?
【问题讨论】:
标签: javascript kubernetes next.js