In order to build EKS Distro, you will need to make sure several things are installed and configured.
Region Environment Variables¶
The build uses the new convention setting region with the
variable. Some older utilities such as v1 of the AWS CLI use the environment
AWS_DEFAULT_REGION. To be safe, set and export both to the same value:
Go Proxy Settings¶
If you are using an HTTP proxy like you might if you are on a corporate VPN,
you may need to set and export
If you are building container images and uploading or downloading from ECR, you
will need to configure buildctl to get registry credentials. While you could
periodically use the AWS CLI and run
to populate credentials into your
~/.docker/config.json, it is much easier to
use the ECR Credential
Helper. To get up and
running easily, you can use the custom Docker config file provided in this repo.
After installing the ECR credential helper, make sure you have AWS credentials
configured in one the usual ways, and set the Docker config to the supplied
1 2 3 4 5 6
To create all the required ECR repositories for EKS Distro, run the
/development/ecr/ecr-command.sh create-all-private-repositories script.
In order to build and run multi-architecture containers, you will need to
install Qemu. On amazonlinux2, this can be
installed with the
qemu-user-static package, and then updating your host's
If you are on a Mac, you will need to
brew install coreutils to get GNU
The default target for make files uses
buildkit to build containers. The
alternative to this is building and pushing containers with Docker.
1 2 3 4
Note: If you notice that
RUN commands in image builds that require network
access are failing, your network may be blocking DNS lookups to Google DNS IPs
188.8.131.52). If you see the log message from the buildkit server:
Try adding your local nameservers and search domains to the
development/buildkitd.toml file and the
sections of the
development/buildkit-compose.yaml, and run
-d. If you are on macOS, you can run the following command to find your
nameservers and search domains.
Build with Docker¶
If you don't want to use
buildkit you will need
to install Docker to build containers.
docker target for make files.