A pulumi module for instantiating Kubernetes Metrics Servers.
Aims to be a full-featured pulumi native alternative to the helm chart. Currently only javascript/typescript are supported. Other languages may follow.
yarn add @timmyers/pulumi-k8s-metrics-server
import K8sMetricsServer, { MetricsServerArgs } from '@timmyers/pulumi-k8s-metrics-server';
const args: MetricsServerArgs = {};
const metricsServer = new K8sMetricsServer('metrics-server', args);
The module exposes an interface MetricsServerArgs
, which exposes many options that can be set, similar to the helm chart.
Instantiate an EKS cluster in multiple AWS regions, and create a metrics-server
in each.
import * as aws from '@pulumi/aws';
import K8sMetricsServer from '@timmyers/pulumi-k8s-metrics-server';
const regions: aws.Region[] = [
'us-west-2', // Oregon
'eu-central-1', // Frankfurt
];
regions.forEach((region): void => {
const provider = new aws.Provider(`provider-${region}`, { region });
const defaultOpts: pulumi.ComponentResourceOptions = { provider };
const cluster = new eks.Cluster(`cluster-${region}`, {}, defaultOpts);
const k8sDefaultOpts = { providers: { kubernetes: cluster.provider } };
const metricsServer = new K8sMetricsServer(name, {}, k8sDefaultOpts);
});
Clone the repo, then:
yarn
yarn test