Gus*_*s G 2 node.js google-cloud-platform kubernetes
我有 TS 应用程序,它使用 kubernetes-client 库连接到 Google Cloud 中的 kubernetes。
import { KubeConfig, CoreV1Api } from "@kubernetes/client-node";
const kc = new KubeConfig();
kc.loadFromDefault();
const kbsCoreApi = kc.makeApiClient(CoreV1Api);
Run Code Online (Sandbox Code Playgroud)
在本地运行时效果很好,但是当我对其进行 dockerize 时,由于不知道如何加载配置而无法工作。我尝试创建一个配置文件并使用“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"
}
Run Code Online (Sandbox Code Playgroud)
使用kc.loadFromCluster();而不是kc.loadFromDefault();代码中使用的。
查看集群内示例
当使用集群内身份验证启动客户端时,它将使用ServiceAccount令牌/var/run/secrets/kubernetes.io/serviceaccount
另请确保此 ServiceAccount 具有对客户端代码使用的资源操作的 RBAC 权限。但你应该能够得到正确的错误消息,除非。
| 归档时间: |
|
| 查看次数: |
3648 次 |
| 最近记录: |