https://github.com/awslabs/amazon-eks-ami

Packer configuration for building a custom EKS AMI

https://github.com/awslabs/amazon-eks-ami

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 206 committers (1.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords from Contributors

infrastructure-as-code cloud-infrastructure data-pipelines autograder transformer parallel orchestration mlops interpretability data-engineering
Last synced: 10 months ago · JSON representation

Repository

Packer configuration for building a custom EKS AMI

Basic Info
Statistics
  • Stars: 2,582
  • Watchers: 164
  • Forks: 1,183
  • Open Issues: 108
  • Releases: 187
Created about 8 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Codeowners

README.md

Amazon EKS AMI Build Specification

[!IMPORTANT] Amazon EKS will no longer publish EKS-optimized Amazon Linux 2 (AL2) AMIs after November 26th, 2025. Additionally, Kubernetes version 1.32 is the last version for which Amazon EKS will release AL2 AMIs. From version 1.33 onwards, Amazon EKS will continue to release AL2023 and Bottlerocket based AMIs. To learn more, see Guide to EKS AL2 & AL2-Accelerated AMIs transition features.

This repository contains resources and configuration scripts for building a custom Amazon EKS AMI with HashiCorp Packer. This is the same configuration that Amazon EKS uses to create the official Amazon EKS-optimized AMI.

Check out the 📖 documentation to learn more.


🚀 Getting started

If you are new to Amazon EKS, we recommend that you follow our Getting Started chapter in the Amazon EKS User Guide. If you already have a cluster, and you want to launch a node group with your new AMI, see Launching Amazon EKS Worker Nodes.

🔢 Pre-requisites

You must have Packer version 1.8.0 or later installed on your local system. For more information, see Installing Packer in the Packer documentation. You must also have AWS account credentials configured so that Packer can make calls to AWS API operations on your behalf. For more information, see Authentication in the Packer documentation.

👷 Building the AMI

A Makefile is provided to build the Amazon EKS Worker AMI, but it is just a small wrapper around invoking Packer directly. You can initiate the build process by running the following command in the root of this repository:

```bash

build an AMI with the latest Kubernetes version and the default OS distro

make

build an AMI with a specific Kubernetes version and the default OS distro

make k8s=1.29

build an AMI with a specific Kubernetes version and a specific OS distro

make k8s=1.29 os_distro=al2023

check default value and options in help doc

make help ```

The Makefile chooses a particular kubelet binary to use per Kubernetes version which you can view here.

Note The default instance type to build this AMI does not qualify for the AWS free tier. You are charged for any instances created when building this AMI.

🔒 Security

For security issues or concerns, please do not open an issue or pull request on GitHub. Please report any suspected or confirmed security issues to AWS Security.

⚖️ License Summary

This sample code is made available under a MIT-0 license. See the LICENSE file.

Although this repository is released under the MIT license, when using NVIDIA accelerated AMIs you agree to the NVIDIA Cloud End User License Agreement: https://s3.amazonaws.com/EULA/NVidiaEULAforAWS.pdf.

Although this repository is released under the MIT license, NVIDIA accelerated AMIs use the third party open-gpu-kernel-modules. The open-gpu-kernel-modules project's licensing includes the dual MIT/GPLv2 license.

Although this repository is released under the MIT license, NVIDIA accelerated AMIs use the third party nvidia-container-toolkit. The nvidia-container-toolkit project's licensing includes the Apache-2.0 license.

Although this repository is released under the MIT license, Neuron accelerated AMIs use the third party Neuron Driver. The Neuron Driver project's licensing includes the GPLv2 license.

Although this repository is released under the MIT license, accelerated AMIs use the third party Elastic Fabric Adapter Driver. The Elastic Fabric Adapter Driver project's licensing includes the GPLv2 license.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1,084
  • Total Committers: 206
  • Avg Commits per committer: 5.262
  • Development Distribution Score (DDS): 0.789
Past Year
  • Commits: 276
  • Committers: 38
  • Avg Commits per committer: 7.263
  • Development Distribution Score (DDS): 0.699
Top Committers
Name Email Commits
Carter m****v@a****m 229
github-actions[bot] 4****] 116
Nick Baker n****1@o****m 67
Matt m****s@a****m 48
Micah Hausler m****r@a****m 38
dependabot[bot] 4****] 29
Sichaow s****w@a****m 25
Prasad Shende p****6 23
ravisinha0506 r****6@g****m 22
Abeer Sethi 3****1 19
M00nF1sh y****g@a****m 18
Claes Mogren m****n@a****m 15
Laxmi Soumya Josyula 4****a 14
Saurav Agarwalla s****a 13
suket22 s****2@g****m 13
Todd Neal t****t@a****m 13
whoix 1****x 12
Vishal Gupta v****1@g****m 11
Brandon Wagner w****m@a****m 11
Bronson Mirafuentes m****b@a****m 9
Visuna v****e@g****m 9
Murcherla n****5@g****m 8
Rob Playford r****d@g****m 8
Vela WU 5****a 8
Davanum Srinivas d****m@g****m 8
camrakin 1****n 7
sehayoun 7****n 7
Shyam JVS j****v@a****m 6
guessi g****i@g****m 6
Zaid Ahmed Farooq 3****2 6
and 176 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 324
  • Total pull requests: 968
  • Average time to close issues: 5 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 265
  • Total pull request authors: 119
  • Average comments per issue: 4.14
  • Average comments per pull request: 1.38
  • Merged pull requests: 649
  • Bot issues: 1
  • Bot pull requests: 300
Past Year
  • Issues: 103
  • Pull requests: 524
  • Average time to close issues: 13 days
  • Average time to close pull requests: 4 days
  • Issue authors: 91
  • Pull request authors: 40
  • Average comments per issue: 2.46
  • Average comments per pull request: 1.27
  • Merged pull requests: 371
  • Bot issues: 1
  • Bot pull requests: 202
Top Authors
Issue Authors
  • stevehipwell (9)
  • cartermckinnon (8)
  • sidewinder12s (5)
  • dims (4)
  • mebays (4)
  • vflaux (3)
  • D2809 (3)
  • SoodPrerit (3)
  • ptailor1193 (3)
  • mmerkes (3)
  • guessi (3)
  • ajvn (2)
  • KrisJohnstone (2)
  • emman27 (2)
  • HenryXie1 (2)
Pull Request Authors
  • github-actions[bot] (228)
  • cartermckinnon (153)
  • ndbaker1 (151)
  • dependabot[bot] (72)
  • Issacwww (41)
  • whoix (28)
  • mselim00 (24)
  • wwvela (20)
  • micahhausler (14)
  • HusainZafar (13)
  • nkvetsinski (13)
  • fletcherw (8)
  • dims (7)
  • einfochips-vivektomar (6)
  • guessi (5)
Top Labels
Issue Labels
bug (57) enhancement (12) never-stale (3) need-code (3) gpu (2) question (2) documentation (2) instance-type (2) changelog/exclude (2)
Pull Request Labels
changelog/exclude (367) dependencies (72) enhancement (6) go (6) bug (6) javascript (6) documentation (5) gpu (5) maintenance (3) instance-type (2) kernel (2)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 6
  • Total dependent repositories: 0
  • Total versions: 1
proxy.golang.org: github.com/awslabs/amazon-eks-ami/nodeadm
  • Versions: 1
  • Dependent Packages: 6
  • Dependent Repositories: 0
Rankings
Dependent packages count: 9.3%
Average: 9.9%
Dependent repos count: 10.5%
Last synced: 12 months ago

Dependencies

.github/workflows/sync-eni-max-pods.yaml actions
  • actions/checkout v3 composite
  • aws-actions/configure-aws-credentials v1 composite
  • peter-evans/create-pull-request v4 composite
.github/actions/bot/action.yaml actions
  • actions/checkout v3 composite
  • actions/github-script v6 composite
.github/actions/ci/build/action.yaml actions
  • actions/checkout v3 composite
.github/actions/janitor/ami-sweeper/action.yaml actions
.github/workflows/bot-trigger.yaml actions
  • ./.github/actions/bot * composite
  • actions/checkout v3 composite
.github/workflows/ci-auto.yaml actions
  • actions/checkout v3 composite
.github/workflows/ci-manual.yaml actions
  • ./.github/actions/ci/build * composite
  • ./.github/actions/ci/launch * composite
  • ./.github/actions/ci/sonobuoy * composite
  • actions/checkout v3 composite
  • actions/github-script v6 composite
  • aws-actions/configure-aws-credentials v2 composite
.github/workflows/janitor.yaml actions
  • ./.github/actions/janitor/ami-sweeper * composite
  • ./.github/actions/janitor/cluster-sweeper * composite
  • actions/checkout v3 composite
  • aws-actions/configure-aws-credentials v2 composite
.github/workflows/sync-to-codecommit.yaml actions
  • actions/checkout v2 composite
  • aws-actions/configure-aws-credentials v1 composite
.github/actions/bot/package-lock.json npm
  • @actions/core 1.10.0
  • @actions/github 5.1.1
  • @actions/http-client 2.1.1
  • @octokit/auth-token 2.5.0
  • @octokit/core 3.6.0
  • @octokit/endpoint 6.0.12
  • @octokit/graphql 4.8.0
  • @octokit/openapi-types 12.11.0
  • @octokit/plugin-paginate-rest 2.21.3
  • @octokit/plugin-rest-endpoint-methods 5.16.2
  • @octokit/request 5.6.3
  • @octokit/request-error 2.1.0
  • @octokit/types 6.41.0
  • before-after-hook 2.2.3
  • deprecation 2.3.1
  • is-plain-object 5.0.0
  • node-fetch 2.6.13
  • once 1.4.0
  • tr46 0.0.3
  • tunnel 0.0.6
  • universal-user-agent 6.0.0
  • uuid 8.3.2
  • webidl-conversions 3.0.1
  • whatwg-url 5.0.0
  • wrappy 1.0.2
.github/actions/bot/package.json npm
  • @actions/core ^1.10.0
  • @actions/github ^5.1.1
.github/workflows/update-changelog.yaml actions
  • actions/checkout v3 composite
  • actions/github-script v6 composite
  • peter-evans/create-pull-request v4 composite
.github/actions/ci/kubetest2/action.yaml actions
.github/actions/janitor/kubetest2-sweeper/action.yaml actions
.github/workflows/dependency-review.yaml actions
  • actions/checkout v3 composite
  • actions/dependency-review-action v4 composite
  • actions/setup-go v5 composite
  • golang/govulncheck-action v1 composite
.github/workflows/deploy-docs.yaml actions
  • actions/checkout v3 composite
.github/workflows/update-dependency.yaml actions
  • actions/checkout v4 composite
  • actions/setup-go v5 composite
  • peter-evans/create-pull-request v5 composite
nodeadm/test/e2e/infra/Dockerfile docker
  • golang 1.21 build
  • public.ecr.aws/amazonlinux/amazonlinux 2023 build
templates/test/Dockerfile docker
  • public.ecr.aws/amazonlinux/amazonlinux 2 build
  • public.ecr.aws/aws-ec2/amazon-ec2-metadata-mock v1.11.2 build
nodeadm/go.mod go
  • dario.cat/mergo v1.0.0
  • github.com/Microsoft/go-winio v0.6.1
  • github.com/aws/aws-sdk-go v1.50.6
  • github.com/aws/aws-sdk-go-v2 v1.24.1
  • github.com/aws/aws-sdk-go-v2/config v1.26.6
  • github.com/aws/aws-sdk-go-v2/credentials v1.16.16
  • github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11
  • github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10
  • github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10
  • github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3
  • github.com/aws/aws-sdk-go-v2/service/ec2 v1.146.0
  • github.com/aws/aws-sdk-go-v2/service/ecr v1.24.7
  • github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4
  • github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10
  • github.com/aws/aws-sdk-go-v2/service/sso v1.18.7
  • github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7
  • github.com/aws/aws-sdk-go-v2/service/sts v1.26.7
  • github.com/aws/smithy-go v1.19.0
  • github.com/beorn7/perks v1.0.1
  • github.com/blang/semver/v4 v4.0.0
  • github.com/cespare/xxhash/v2 v2.2.0
  • github.com/containerd/containerd v1.7.13
  • github.com/coreos/go-systemd/v22 v22.5.0
  • github.com/davecgh/go-spew v1.1.1
  • github.com/go-logr/logr v1.4.1
  • github.com/godbus/dbus/v5 v5.1.0
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang/protobuf v1.5.3
  • github.com/google/go-cmp v0.6.0
  • github.com/google/gofuzz v1.2.0
  • github.com/inconshreveable/mousetrap v1.1.0
  • github.com/integrii/flaggy v1.5.2
  • github.com/jmespath/go-jmespath v0.4.0
  • github.com/json-iterator/go v1.1.12
  • github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0
  • github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
  • github.com/modern-go/reflect2 v1.0.2
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/prometheus/client_golang v1.18.0
  • github.com/prometheus/client_model v0.5.0
  • github.com/prometheus/common v0.45.0
  • github.com/prometheus/procfs v0.12.0
  • github.com/spf13/cobra v1.7.0
  • github.com/spf13/pflag v1.0.5
  • github.com/stretchr/objx v0.5.0
  • github.com/stretchr/testify v1.8.4
  • go.uber.org/multierr v1.11.0
  • go.uber.org/zap v1.26.0
  • golang.org/x/mod v0.14.0
  • golang.org/x/net v0.19.0
  • golang.org/x/sys v0.16.0
  • golang.org/x/text v0.14.0
  • golang.org/x/tools v0.16.1
  • google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d
  • google.golang.org/grpc v1.58.3
  • google.golang.org/protobuf v1.31.0
  • gopkg.in/inf.v0 v0.9.1
  • gopkg.in/yaml.v2 v2.4.0
  • gopkg.in/yaml.v3 v3.0.1
  • k8s.io/api v0.29.1
  • k8s.io/apimachinery v0.29.1
  • k8s.io/component-base v0.29.1
  • k8s.io/cri-api v0.29.1
  • k8s.io/klog/v2 v2.110.1
  • k8s.io/kubelet v0.29.1
  • k8s.io/utils v0.0.0-20240102154912-e7106e64919e
  • sigs.k8s.io/controller-runtime v0.17.0
  • sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
  • sigs.k8s.io/structured-merge-diff/v4 v4.4.1
  • sigs.k8s.io/yaml v1.4.0
nodeadm/go.sum go
  • 131 dependencies
nodeadm/vendor/github.com/json-iterator/go/Gopkg.lock go
  • github.com/modern-go/concurrent e0a39a4cb4216ea8db28e22a69f4ec25610d513a
  • github.com/modern-go/reflect2 4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd
nodeadm/vendor/github.com/json-iterator/go/Gopkg.toml go
  • github.com/modern-go/reflect2 1.0.1
nodeadm/vendor/github.com/modern-go/reflect2/Gopkg.lock go
nodeadm/vendor/github.com/modern-go/reflect2/Gopkg.toml go
nodeadm/vendor/go.uber.org/zap/glide.yaml go
  • go.uber.org/atomic ^1
  • go.uber.org/multierr ^1