Multus Setup Guide

This repo contains Multus setup instructions showing how to provision EKS cluster and nodegroups using CloudFormation and CDK. You can use these patterns to help deploy your own workloads quickly.

Important: this application uses various AWS services and there are costs associated with these services after the Free Tier usage - please see the AWS Pricing page for details. You are responsible for any AWS costs incurred. No warranty is implied in this example.

Credits: This repository consolidated the knowledge and steps from cfn-nodegroup-for-multus-cni, cdkMultusNodeGroup and AWS-Immersion-Day.

Multus CNI is a container network interface (CNI) plugin for EKS that enables attaching multiple interfaces for pods. In EKS, each pod has one network interface assigned by the AWS VPC-CNI plugin. With Multus, you can create a multi-homed pod that has multiple interfaces. This is accomplished by Multus acting as a "meta-plugin", a CNI plugin that can call multiple other CNI plugins. AWS support for Multus comes with VPC CNI as the default delegate plugin configured. Please visit upstream link for comprehensive documentation.

Pod With Multus CNI

Requirements

  • AWS CLI already configured with Administrator permission (helpful if you would like to use CDK from your laptop).

Deployment Instructions

  1. Create an AWS account if you do not already have one and login.

  2. Create EC2 SSH Key Pair

  3. Install Git

  4. Create a new directory and navigate to that directory in a terminal.

  5. Clone this repo:

git clone https://github.com/aws-samples/eks-install-guide-for-multus

Steps

  1. Provision Infra, EKS Cluster, and Bastion Host.
  2. Self Managed Nodegroup via CloudFormation.
  3. Automated Multus pod IP management on EKS.
  4. Optional, CDK Managed Nodegroup.

Each subdirectory contains additional installation and usage instructions.


Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.