- Lab 1 - Building a Docker Image
- Lab 2 - Introduction to Pods
- Lab 3 - Playing around with our Pod
- Lab 4 - Labeling our Pods
- Lab 5 - Deployments
- Lab 6 - Services
- Lab 7 - Ingress
- Lab 8 - Namespaces
- Lab 9 - HPA
Follow the below steps to get setup with a Cloud9 environment and create your Cluster.
This will be where you'll be performing the labs throughout the sessions.
Click the button to begin creating a CloudFormation stack for the region you are assigned.
Preferably right click an open it in a new tab.
Region | CloudFormation |
---|---|
eu-central-1 (Frankfurt) |
Just before clicking "Create stack" button, please tick "I acknowledge that AWS CloudFormation might create IAM resources."
If you get stuck, the CloudFormation template is available here and also in this repo.
This will allow your cloud9 environment access to perform the actions needed for the sessions.
This can be done in the EC2 console, navigate to your EC2 instances, or click the link below:
Preferably right click an open it in a new tab.
Region | EC2 |
---|---|
eu-central-1 (Frankfurt) | Console link |
- Select the Cloud9 instance
- Click Actions > Instance Settings > Modify IAM Role
- Filter the roles, searching for "cloud9"
- Click Apply once the role is selected
This can be done in the Cloud9 console, navigate to Cloud9 or click the link below:
Preferably right click an open it in a new tab.
Region | EC2 |
---|---|
eu-central-1 (Frankfurt) | Console link |
- Click Open IDE
The environment will be our workstation for the sessions, there are a few steps needed to get it setup
-
From within the Cloud9 environment perform the below steps:
- Click on AWS Cloud9 Preferences > GEAR (top left)
- Click on AWS SETTINGS > Credentials
- Turn off 'AWS managed temporary credentials'
-
Change to a dark theme if you prefer:
- View > Themes > UI Themes > Classic Dark
$ git clone https://github.com/aws-vls-dub/eks.git
The script installs and configures the necessary pre-requisites
$ eks/scripts/bootstrap.sh
Confirm the IAM role is as expected
Launch your cluster from the Cloud9 environment by running the following eksctl
command:
$ eksctl create cluster --node-type t3.medium --name eks --managed
If you scaled down your cluster on Day 2 you can scale up using eksctl
as follows:
$ eksctl get clusters
$ eksctl get nodegroup --cluster eks
$ eksctl scale nodegroup --cluster=eks --nodes=2 ng-xxxxxxx
Please access the page: https://deploymentels.support.aws.dev/ and click at the Submit Challenge
button.
- Please Make sure that the image which you build can be accessed publicly. [ dockerhub public repo under your account]
- If you sucessfully build the application, add the LoadBalancer URL in a file called url.txt , with the http url ONLY
- Fill out the assesment in project/assesment and together with all the yaml files used to solve the problem and zip it and send to:
https://deploymentels.support.aws.dev/#uploadChallange
. - Make sure to zip all the files without upper dir e.g.:
zip -r 01JhonSnow.zip *
Note: The zip file must be named as:Name
+Surname
.zip, e.g.:01JhonSnow.zip
It will only be allowed zip files
Your voucher should cover the costs for the full period of the learning series but if, between sessions, you want to
prevent extra costs you can scale down your clusters using eksctl
as follows:
$ eksctl get clusters
$ eksctl get nodegroup --cluster eks
$ eksctl scale nodegroup --cluster=eks --nodes=0 ng-xxxxxxx
Note: As of 2019-09-30 there is a bug with the above command github/issues/809 that does not update the min value of the auto scaling group. To get around this scale the nodes to 0, then to 1 and then to 0 again (using the last command above).
After the end of all three sessions, follow the below steps to delete the EKS cluster and Cloud9 environment
Delete all the services of type LoadBalancer
which have provisioned ELBs in your account:
$ # List all services with type LoadBalancer
$ kubectl get svc --all-namespaces -o json \
| jq -r '.items[] | select(.spec.type == "LoadBalancer") | .metadata.name'
# For each of the outputted services do
$ kubectl delete svc <service name>
service "<service name>" deleted
Then you can delete the cluster, node group and CloudFormation stack.
This can be done in the Cloud9 console, navigate to Cloud9, or click the link below:
Region | EC2 |
---|---|
eu-central-1 (Frankfurt) | Console link |
- Delete the EKS cluster from the Cloud9 terminal with the below command:
$ eksctl delete cluster eks
This can be done in the CloudFormation console, navigate to CloudFormation, or click the link below:
Region | EC2 |
---|---|
eu-central-1 (Frankfurt) | Console link |
There may be a number of stacks, select the stack named "cloud9", and click the "Delete" button