Kubernetes Javascript Client Library 适用于本地,但不适用于 GKE



我正在尝试使用 Kubernetes JS 客户端库,当我在本地环境中尝试它时(我使用 docker 运行本地 Kubernetes(,它工作正常,我正在创建一个用于测试目的的 pod,并且创建了 pod。当我尝试使用Google Kubernetes Engine时,我得到">HttpError:HTTP请求失败"。

以下是我如何使用该库:

const kc = new k8s.KubeConfig();
kc.loadFromDefault();
const k8sApi = kc.makeApiClient(k8s.CoreV1Api);


然后我使用以下方法创建一个 pod,使用 V1Pod 主体:

k8sApi.createNamespacedPod("default", pod).then(
(response) => {
console.log(`Created pod -> ${response}`);
},
(err) => {
console.log(`Error: ${err}`);
}
);

我不确定您是否解决了这个问题,但我通过使用 JSON.stringify(e( 获得了有关创建函数生成的错误(即 api.createNamespacedCronJob(...((的其他信息。如果你查看k8s javascript客户端的github存储库,HttpError对象包含一个响应,正文和状态代码。这对我的情况非常有帮助。由于用于请求的服务帐户的烫发,因此禁止 403。

Kubernetes Javascript Client HttpError(生成该消息(: https://github.com/kubernetes-client/javascript/blob/ab5fc88afb4a205b1686078feca7e233f610c4f6/src/gen/api/apis.ts

最新更新