The Javascript clients for Kubernetes is implemented in typescript, but can be called from either Javascript or Typescript.
For now, the client is implemented for server-side use with node
using the request
library.
There are future plans to also build a jQuery compatible library but for now, all of the examples and instructions assume the node client.
npm install @kubernetes/client-node
const k8s = require('@kubernetes/client-node');
const kc = new k8s.KubeConfig();
kc.loadFromDefault();
const k8sApi = kc.makeApiClient(k8s.Core_v1Api);
k8sApi.listNamespacedPod('default').then((res) => {
console.log(res.body);
});
const k8s = require('@kubernetes/client-node');
const kc = new k8s.KubeConfig();
kc.loadFromDefault();
const k8sApi = kc.makeApiClient(k8s.Core_v1Api);
var namespace = {
metadata: {
name: 'test',
},
};
k8sApi.createNamespace(namespace).then(
(response) => {
console.log('Created namespace');
console.log(response);
k8sApi.readNamespace(namespace.metadata.name).then((response) => {
console.log(response);
k8sApi.deleteNamespace(namespace.metadata.name, {} /* delete options */);
});
},
(err) => {
console.log('Error!: ' + err);
},
);
There are several more examples in the examples directory.
All dependencies of this project are expressed in its
package.json
file. Before you start developing, ensure
that you have NPM installed, then run:
npm install
cd ../
git clone https://github.com/kubernetes-client/gen
cd javascript
../gen/openapi/typescript.sh src settings
Run npm run format
or install an editor plugin like https://github.com/prettier/prettier-vscode.
Run npm run lint
or install an editor plugin like https://github.com/Microsoft/vscode-typescript-tslint-plugin
Tests are written using the Chai library. See
config_test.ts
for an example.
To run tests, execute the following:
npm test
Please see CONTRIBUTING.md for instructions on how to contribute.