Giter VIP home page Giter VIP logo

pulumi-eks's Introduction

Build Status

Pulumi Amazon Web Services (AWS) EKS Components

Pulumi's library for easily creating and managing EKS Kubernetes clusters.

This package is meant for use with the Pulumi CLI. Please visit pulumi.io for installation instructions.

Installing

This package is available in JavaScript/TypeScript for use with Node.js. Install it using either npm:

$ npm install @pulumi/eks

or yarn:

$ yarn add @pulumi/eks

This package requires aws-iam-authenticator for Amazon EKS in order to deploy resources to EKS clusters. Install this tool using the official instructions under "To install aws-iam-authenticator for Amazon EKS".

kubectl is also required if any VPC CNI options are configured; installation instructions are here.

Concepts

This package provides a Pulumi component that creates and manages the resource necessary to run an EKS Kubernetes cluster in AWS. This includes:

  • The EKS cluster itself
  • The cluster's worker nodes, which are managed by an autoscaling group
  • The Kubernetes resources needed to allow the worker nodes to access the cluster
  • Any Kubernetes StorageClasses needed for applications that will be deployed to the cluster
  • An optional deployment of the Kubernetes Dashboard

The default configuration targets the default VPC and creates an autoscaling group of 2 "t2.medium" EC2 instances, a "gp2" default StorageClass, and a deployment of the Kubernetes Dashboard:

import * as eks from "@pulumi/eks";

const cluster = new eks.Cluster("cluster");

export const kubeconfig = cluster.kubeconfig;

Once the cluster is created, you can deploy into the cluster using "@pulumi/kubernetes", kubectl, helm, etc.

import * as eks from "@pulumi/eks";
import * as k8s from "@pulumi/kubernetes";

const cluster = new eks.Cluster("cluster");

const hackmd = new k8s.helm.v2.Chart("hackmd", {
    repo: "stable",
    chart: "hackmd",
    version: "0.1.1",
    values: {
        service: {
            type: "LoadBalancer",
            port: 80,
        },
    },
}, { providers: { kubernetes: cluster.provider } });

Reference

For detailed reference documentation, please visit the API docs.

pulumi-eks's People

Contributors

ellismg avatar pgavlin avatar tirke avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.