@blitzm/azure-kubernetes
TypeScript icon, indicating that this package has built-in type declarations

1.2.3 • Public • Published

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.

License

Blitzm

Readme

Keywords

none

Package Sidebar

Install

npm i @blitzm/azure-kubernetes

Weekly Downloads

14

Version

1.2.3

License

Blitzm

Unpacked Size

104 kB

Total Files

11

Last publish

Collaborators

  • tim-blitzm
  • blitzm-sean
  • blitzm-admin
  • blitzm-james