#!/bin/bash # EKS Cluster configuration based on environment variables # Cluster Name export CLUSTER_NAME=do-eks-env # Cluster Region export CLUSTER_REGION=us-west-2 # Cluster Availabielity Zones export CLUSTER_ZONES=us-west-2a,us-west-2b,us-west-2c,us-west-2d # System Settings export CLUSTER_K8S_VERSION=1.25 export CLUSTER_VPC_CNI_VERSION=v1.12.2-eksbuild.1 export CLUSTER_VPC_CIDR=172.33.0.0/16 export CLUSTER_SYSTEM_NODEGROUP_NAME=system export CLUSTER_SYSTEM_NODEGROUP_INSTANCE_TYPE=c5.xlarge export CLUSTER_SYSTEM_NODEGROUP_OPTIONS="--node-type ${CLUSTER_SYSTEM_NODEGROUP_INSTANCE_TYPE} \ --nodes-min 1 --nodes-max 10 --nodes 1 --node-private-networking \ --asg-access --external-dns-access --full-ecr-access --appmesh-access --alb-ingress-access --managed" # --ssh-public-key export CLUSTER_OPTIONS="--nodegroup-name ${CLUSTER_SYSTEM_NODEGROUP_NAME} ${CLUSTER_SYSTEM_NODEGROUP_OPTIONS}" export CLUSTER_AUTOSCALER_DEPLOY="false" export CLUSTER_AUTOSCALER_IMAGE_TAG="v1.21.0" export CLUSTER_KARPENTER_VERSION="v0.10.0" # CPU Nodegroups export CPU_NODEGROUP_INSTANCE_TYPES=(c5.2xlarge c5.12xlarge) export CPU_NODEGROUP_SIZES=(2 0) export CPU_NODEGROUP_OPTIONS="--region ${CLUSTER_REGION} --nodes-min 1 --nodes-max 10 --nodes 1 --node-volume-size 60 --node-volume-type gp3 --node-ami-family AmazonLinux2 \ --node-private-networking --node-labels processor=cpu --asg-access --external-dns-access --full-ecr-access --alb-ingress-access \ --appmesh-access --managed" # --ssh-public-key # --spot # GPU Nodegroups export GPU_NODEGROUP_INSTANCE_TYPES=(g4dn.12xlarge p3dn.24xlarge) export GPU_NODEGROUP_SIZES=(0 0) export GPU_NODEGROUP_OPTIONS="--region ${CLUSTER_REGION} --nodes-min 1 --nodes-max 10 --nodes 1 --node-volume-size 60 --node-volume-type gp3 --node-ami-family AmazonLinux2 \ --node-private-networking --node-labels processor=gpu --asg-access --external-dns-access --full-ecr-access --alb-ingress-access \ --appmesh-access --managed --install-nvidia-plugin" # --spot # --node-zones us-east-1a # --node-ami ami-0bb0f156481e1c7f9 # ASIC Nodegroups export ASIC_NODEGROUP_INSTANCE_TYPES=(inf1.xlarge inf1.6xlarge) export ASIC_NODEGROUP_SIZES=(0 0) export ASIC_NODEGROUP_OPTIONS="--region ${CLUSTER_REGION} --nodes-min 1 --nodes-max 10 --nodes 1 --node-volume-size 60 --node-volume-type gp3 --node-ami-family AmazonLinux2 \ --node-private-networking --node-labels processor=asic --asg-access --external-dns-access --full-ecr-access --alb-ingress-access \ --appmesh-access --install-neuron-plugin" # Fargate Profiles export SERVERLESS_FARGATE_PROFILE_NAMES=(fp1)