首页 > 解决方案 > 如何使用 GKE 和 kubernetes/client-node 通过 K8S API 进行身份验证?

问题描述

我一直在尝试在 Google Kubernetes Engine 上的集群上使用 K8S API 进行身份验证,但我很挣扎。

从 GKE API 中,我有一个属于该项目的服务帐户的身份验证令牌,以及属于集群的证书。

这就是我所拥有的:

const config = new KubeConfig();
config.loadFromOptions({
    apiVersion: 'v1',
    contexts: [{ context: {} }],
    clusters: [{ cluster: { 'certificate-authority-data': GKE.masterAuth.clusterCaCertificate, 'server': `https://${GKE.endpoint}` } }],
    users: [{ user: { 'auth-provider': { config: { 'access-token': authToken.credentials.access_token } } } }],
});
const api = config.makeApiClient(CoreV1Api);

现在,这个确切的配置在使用https://github.com/godaddy/kubernetes-client/之前工作得很好但是他们正在与https://github.com/kubernetes-client/javascript合并所以我想我会迁移.

但是,现在Error: unable to verify the first certificate尝试向 API 客户端发出请求时出现错误。

标签: node.jskubernetesgoogle-kubernetes-engine

解决方案


推荐阅读