繁体   English   中英

无法使用 @kubernetes/client-node 获取集群内的所有作业

[英]Unable to get all the jobs inside a cluster using @kubernetes/client-node

I am using "@kubernetes/client-node" to access kubernetes server API. I can get Namespaces and Pods from default using:


const k8s = require('@kubernetes/client-node');

const kc = new k8s.KubeConfig();
kc.loadFromDefault();

const k8sApi = kc.makeApiClient(k8s.CoreV1Api);

k8sApi.listNamespace().then((res) => {  // or using listAllNamespacedPods
    console.log(res.body);
});



but when i am using kc.loadFromFile('pathToKubeConfigFile'), it is unable to read it



import { KubeConfig, CoreV1Api } from '@kubernetes/client-node';

const kc = new KubeConfig();
kc.loadFromFile('./config/k8sConfig.yaml');

const k8sApi = kc.makeApiClient(CoreV1Api);

k8sApi.listPodForAllNamespaces().then((res) => {
    console.log(res.body);
});

我需要返回所有活动作业,例如部署、pod 和服务。 任何人都可以建议我如何实现它。

您必须传递 Kube 配置文件位置而不是任何 YAML 文件

const { KubeConfig } = require('kubernetes-client')
const kubeconfig = new KubeConfig()
kubeconfig.loadFromFile('~/some/path')
const Request = require('kubernetes-client/backends/request')

const backend = new Request({ kubeconfig })
const client = new Client({ backend, version: '1.13' })

https://github.com/godaddy/kubernetes-client#initializing

但是,如果您计划在 K8s 集群上运行 POD 或容器,您也可以使用: kc.loadFromCluster();

https://github.com/kubernetes-client/javascript/blob/master/examples/in-cluster.js

如果您想传递任何 YAML 并将这些更改应用于集群,您可以使用

https://github.com/kubernetes-client/javascript/blob/master/examples/yaml-example.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM