【发布时间】:2019-06-20 02:55:00
【问题描述】:
这个简单的 Node.js 程序在本地运行良好,因为它从我的本地 /root/.kube/config 文件中提取 kubernetes 配置
const Client = require('kubernetes-client').Client;
const Config = require('kubernetes-client/backends/request').config;
const client = new K8sClient({ config: Config.fromKubeconfig(), version: '1.13' });
const pods = await client.api.v1.namespaces('xxxxx').pods.get({ qs: { labelSelector: 'application=test' } });
console.log('Pods: ', JSON.stringify(pods));
现在我想将它作为集群上的 Docker 容器运行并获取所有当前集群正在运行的 POD(对于相同/当前命名空间)。现在当然失败了:
Error: { Error: ENOENT: no such file or directory, open '/root/.kube/config'
那么当作为 Docker 容器部署到集群时如何使它工作呢? 这个小服务需要扫描所有正在运行的POD...假设它不需要拉配置数据,因为它已经部署了..所以它需要访问当前集群上的POD
【问题讨论】:
标签: node.js docker kubernetes docker-compose