This workshop has been deprecated and archived. The new Amazon EKS Workshop is now available at www.eksworkshop.com.

Tabs with regular text:

echo "This is tab 1."
println "This is tab 2."

Tabs with code blocks:


echo "This is tab 1."

println "This is tab 2."

Tabs showing installation process:

To create a basic EKS cluster, run:

eksctl create cluster --name=eksworkshop-eksctl --nodes=3 --node-ami=auto --region=${AWS_REGION}

Launching EKS and all the dependencies will take approximately 15 minutes

We start by initializing the Terraform state:

terraform init

We can now plan our deployment:

terraform plan -var 'cluster-name=eksworkshop-tf' -var 'desired-capacity=3' -out eksworkshop-tf

And if we want to apply that plan:

terraform apply "eksworkshop-tf"

Applying the fresh terraform plan will take approximately 15 minutes

To build the EKS cluster, we need to tell the EKS service which IAM Service role to use, and which Subnets and Security Group to use. We can gather this information from our previous labs where we built the IAM role and VPC:

export SERVICE_ROLE=$(aws iam get-role --role-name "eks-service-role-workshop" --query Role.Arn --output text)

export SECURITY_GROUP=$(aws cloudformation describe-stacks --stack-name "eksworkshop-cf" --query "Stacks[0].Outputs[?OutputKey=='SecurityGroups'].OutputValue" --output text)

export SUBNET_IDS=$( aws cloudformation describe-stacks --stack-name "eksworkshop-cf" --query "Stacks[0].Outputs[?OutputKey=='SubnetIds'].OutputValue" --output text)

Let’s confirm the variables are now set in our environment:

echo SERVICE_ROLE=${SERVICE_ROLE}
echo SECURITY_GROUP=${SECURITY_GROUP}
echo SUBNET_IDS=${SUBNET_IDS}

Now we can create the EKS cluster:

aws eks create-cluster --name eksworkshop-cf --role-arn "${SERVICE_ROLE}" --resources-vpc-config subnetIds="${SUBNET_IDS}",securityGroupIds="${SECURITY_GROUP}"

Cluster provisioning usually takes less than 10 minutes.

You can query the status of your cluster with the following command:

aws eks describe-cluster --name "eksworkshop-cf" --query cluster.status --output text

When your cluster status is ACTIVE you can proceed.

Second set of tabs showing installation process:

To create a basic EKS cluster, run:

eksctl create cluster --name=eksworkshop-eksctl --nodes=3 --node-ami=auto --region=${AWS_REGION}

Launching EKS and all the dependencies will take approximately 15 minutes

We start by initializing the Terraform state:

terraform init

We can now plan our deployment:

terraform plan -var 'cluster-name=eksworkshop-tf' -var 'desired-capacity=3' -out eksworkshop-tf

And if we want to apply that plan:

terraform apply "eksworkshop-tf"

Applying the fresh terraform plan will take approximately 15 minutes

To build the EKS cluster, we need to tell the EKS service which IAM Service role to use, and which Subnets and Security Group to use. We can gather this information from our previous labs where we built the IAM role and VPC:

export SERVICE_ROLE=$(aws iam get-role --role-name "eks-service-role-workshop" --query Role.Arn --output text)

export SECURITY_GROUP=$(aws cloudformation describe-stacks --stack-name "eksworkshop-cf" --query "Stacks[0].Outputs[?OutputKey=='SecurityGroups'].OutputValue" --output text)

export SUBNET_IDS=$( aws cloudformation describe-stacks --stack-name "eksworkshop-cf" --query "Stacks[0].Outputs[?OutputKey=='SubnetIds'].OutputValue" --output text)

Let’s confirm the variables are now set in our environment:

echo SERVICE_ROLE=${SERVICE_ROLE}
echo SECURITY_GROUP=${SECURITY_GROUP}
echo SUBNET_IDS=${SUBNET_IDS}

Now we can create the EKS cluster:

aws eks create-cluster --name eksworkshop-cf --role-arn "${SERVICE_ROLE}" --resources-vpc-config subnetIds="${SUBNET_IDS}",securityGroupIds="${SECURITY_GROUP}"

Cluster provisioning usually takes less than 10 minutes.

You can query the status of your cluster with the following command:

aws eks describe-cluster --name "eksworkshop-cf" --query cluster.status --output text

When your cluster status is ACTIVE you can proceed.