Skip to content

Commit 33853a4

Browse files
authored
Create examples/scale-deployment.js
A simple example of scaling a particular deployment by namespace and name
1 parent 932c2fb commit 33853a4

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

examples/scale-deployment.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
const k8s = require('@kubernetes/client-node');
2+
3+
const kc = new k8s.KubeConfig();
4+
kc.loadFromFile('./config');
5+
6+
const k8sApi = kc.makeApiClient(k8s.AppsV1Api);
7+
8+
const targetDeploymentName = 'docker-test-deployment';
9+
10+
async function scale(namespace, name, replicas) {
11+
// find the particular deployment
12+
const res = await k8sApi.listNamespacedDeployment(namespace);
13+
14+
let deployment = null;
15+
for (const d of res.body.items) {
16+
if (d.metadata.name === targetDeploymentName) {
17+
deployment = d;
18+
break;
19+
}
20+
}
21+
22+
// edit
23+
deployment.spec.replicas = replicas;
24+
25+
// replace
26+
await k8sApi.replaceNamespacedDeployment(name, namespace, deployment);
27+
}
28+
29+
scale('default', 'docker-test-deployment', 3);

0 commit comments

Comments
 (0)