import * as k8s from '@kubernetes/client-node';
const kc = new k8s.KubeConfig();
kc.loadFromDefault();
const k8sApi = kc.makeApiClient(k8s.AppsV1Api);
const targetNamespaceName = 'default';
const targetDeploymentName = 'docker-test-deployment';
const numberOfTargetReplicas = 3;
async function scale(namespace, name, replicas) {
const deployment = await k8sApi.readNamespacedDeployment({
name,
namespace,
});
const newDeployment = {
...deployment,
spec: {
...deployment.spec,
replicas,
},
};
await k8sApi.replaceNamespacedDeployment({
name,
namespace,
body: newDeployment,
});
}
scale(targetNamespaceName, targetDeploymentName, numberOfTargetReplicas);