@blitzm/azure-kubernetes
v1.2.3
Published
@blitzm/azure-kubernetes is a typescript library for simplifying the process of creating an AKS cluster with a single managed node groups. It abstracts the complicated configurations to provider a simple input interface for Blitzm developers to deploy res
Downloads
109
Keywords
Readme
Blitzm Cloud - Azure Kubernetes
@blitzm/azure-kubernetes is a typescript library for simplifying the process of creating an AKS cluster with a single managed node groups. It abstracts the complicated configurations to provider a simple input interface for Blitzm developers to deploy resources to the cloud platform with little or no domain knowledge of the provider.
Installation
This package can be installed using npm
npm install --save --save-exact @blitzm/azure-kubernetes
Usage
import { AzureKubernetes } from '@blitzm/azure-kubernetes';
import * as azure from '@pulumi/azure';
const vnet = new azure.network.VirtualNetwork('vnet', {
name: 'vnet',
resourceGroupName: resourceGroup.name,
addressSpaces: [ '10.13.0.0/16' ]
});
const subnet = new azure.network.Subnet('subnet', {
name: 'subnet',
resourceGroupName: resourceGroup.name,
virtualNetworkName: vnet.name,
addressPrefixes: [ '10.13.0.0/24' ]
});
// a cluster without Firewall
const cluster = new AzureKubernetes('cluster', {
resourceGroup: resourceGroup,
network: {
subnet: clusterSubnet,
vNet: vNet,
},
nodeSize: 'Standard_B2s',
nodeDiskGB: 30,
minNodes: 1
maxNodes:3
});
// a cluster with Firewall to control the egress
const cluster = new AzureKubernetes(
'cluster',
{
resourceGroup: resourceGroup,
minNodes: 1,
maxNodes: 2,
network: {
subnet: clusterSubnet,
vNet: vNet,
},
firewall: {
enable: true,
allowedHttpDomains: [
"*.docker.com",
"*.docker.io",
"*.k8s.io",
"*.pkg.dev",
"*.appspot.com",
"*.gcr.io",
"*.amazonaws.com",
"quay.io",
"*.quay.io",
"letsencrypt.org",
"*.letsencrypt.org",
],
},
nginxIngress: {
enabled: true,
},
certManager: {
enabled: true,
},
maxPods: 60,
kubernetesVersion: "1.29",
}
);
export const cluster = cluster.cluster
export const kubeconfig = cluster.kubeconfig
export const servicePrincipal = cluster.servicePrincipal
export const ingressId = cluster.ingressPublicIP
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.