[英]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.