如何使用kubernetes客户端加载kubernetes的配置.谷歌云



我有一个TS应用程序,它使用kubernetes客户端库连接到谷歌云中的kubernete。

import { KubeConfig, CoreV1Api } from "@kubernetes/client-node";
const kc = new KubeConfig();
kc.loadFromDefault();
const kbsCoreApi = kc.makeApiClient(CoreV1Api);

当在本地运行时效果很好,但当我将其固定化时,由于不知道如何加载配置,它无法工作。我试图创建一个配置文件,并使用";kc.loadFromFile('~/some/path'("相反,但我似乎错过了一些东西——它给了我一个HTTP错误。这是我的配置文件。

{
"kind": "Config",
"apiVersion": "v1",
"clusters": [
{
"name": "cluster1",
"cluster": {
"certificate-authority-data": "cert-data",
"server": "https://128.1.1.2"
}
}
],
"users": [
{
"name": "cluster1",
"user": {
"password": "myPassword",
"usernmae": "myUsername"
}
}
],
"contexts": [
{
"name": "cluster1",
"context": {
"cluster": "cluster1",
"user": "cluster1"
}
}
],
"current-context": "cluster1"
}

使用kc.loadFromCluster();而不是代码中使用的kc.loadFromDefault();

参见集群示例

当使用集群内身份验证启动客户端时,它将使用/var/run/secrets/kubernetes.io/serviceaccount上的ServiceAccount令牌

还要确保此ServiceAccount具有客户端代码使用的资源操作的RBAC权限。但是你应该能够得到正确的错误消息,除非。

最新更新