Skip to main content

A batteries included EKS cluster following best practices.

Project description

Pulumi LBr Labs EKS

This repo provides a multi-language component that creates a "batteries included" cluster ready for you to attach your EKS nodes to.

It creates:

It is designed to be an opinionated implementation of EKS, without the overhead of having to install all of the things required for your cluster to be functional.

It also provides a mechanism to quickly attached a workload node to your newly created cluster, and create an IAM role for Service accounts with your cluster's OIDC provider.

Examples

Examples for all languages are in the examples directory.

Note, you need to create a VPC, and also add your worker nodes.

Amazon VPC CNI network policy support

You can opt into Amazon EKS network policy support by configuring the vpcCniConfig input on the cluster:

const cluster = new lbrlabs_eks.Cluster("cluster", {
  clusterSubnetIds: vpc.privateSubnetIds,
  letsEncryptEmail: "mail@lbrlabs.com",
  systemNodeSubnetIds: vpc.publicSubnetIds,
  vpcCniConfig: {
    enableNetworkPolicy: true,
    nodeAgent: {
      enablePolicyEventLogs: true,
      metricsBindAddr: 8162,
      healthProbeBindAddr: 8163,
    },
  },
});

This setting is optional. AWS support still depends on the installed VPC CNI addon version and applies to Linux EC2 nodes, not Fargate or Windows nodes.

FAQs

Can you add support for X

Add an issue, but this is mainly designed to be useful for workloads I run, so I reserve the right to refuse.

Can you make X optional?

I have no plans to make any of the batteries included optional at this time

Installing

This package is available in many languages in the standard packaging formats.

Node.js (Java/TypeScript)

To use from JavaScript or TypeScript in Node.js, install using either npm:

$ npm install @lbrlabs/pulumi-eks

or yarn:

$ yarn add @lbrlabs/pulumi-eks

Python

To use from Python, install using pip:

$ pip install lbrlabs_pulumi_eks

Go

To use from Go, use go get to grab the latest version of the library

$ go get github.com/lbrlabs/pulumi-lbrlabs-eks/sdk/go/...

.NET

To use from Dotnet, use dotnet add package to install into your project. You must specify the version if it is a pre-release version.

$ dotnet add package Lbrlabs.PulumiPackage.Eks

Reference

See the Pulumi registry for API docs:

https://www.pulumi.com/registry/packages/lbrlabs-eks/api-docs/

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lbrlabs_pulumi_eks-1.7.0.tar.gz (22.8 kB view details)

Uploaded Source

File details

Details for the file lbrlabs_pulumi_eks-1.7.0.tar.gz.

File metadata

  • Download URL: lbrlabs_pulumi_eks-1.7.0.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for lbrlabs_pulumi_eks-1.7.0.tar.gz
Algorithm Hash digest
SHA256 5bc462dd98a96262b3fac7ca6659960bdf77d87727615c6f923a7d7ef9e29305
MD5 946587e8a7fa5d5de4ff43afc0795254
BLAKE2b-256 5e7b7e663e996d8f2a9282eb4b9de8038110b9a5fc1b261a54c608a1833bb778

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page