This is a demo project to demonstrate how easy is to deploy an application (Web Server) in a K8S multi-cloud cluster (including Akamai Cloud Computing) using Terraform. It will also create an Akamai GTM (Global Traffic Management) configuration to balance the traffic between all nodes, the Akamai Property (CDN configuration) to deliver the content using the Akamai Edge Network and all Akamai Edge DNS entries needed.
- DON'T EXPOSE OR COMMIT ANY SECRET IN THE PROJECT.
Terraform 1.5.x
- IaC automation tool.Kubectl
- Kubernetes CLI.Nginx 1.x
- Web Server.K3S 1.28.x
- Lightweight K8S.
For further details please check the documentation of each tool/service.
Linux
ormacOS
operating system.- You need an IDE such as
IntelliJ
. - You need an account in
GitHub
,Linode
,AWS
,DigitalOcean
andAkamai
. - The tokens and credentials for each service must be defined in
iac/.credentials
file. Please follow the templateiac/.credentials.template
. - Install
Terraform
andKubectl
on your local environment. - Download/Clone/Fork this project from
GitHub
. - Import the project in your IDE.
- Run the
deploy.sh
script to provision the infrastructure. it will use the attributes in fileiac/settings.json
. If you don't have this file, please create it based oniac/settings.json.template
. - Execute the following commands after the provisioning completes:
export KUBECONFIG=iac/.kubeconfig
- To specify the kubeconfig file needed to connect to the cluster.kubectl get nodes -o wide
- To see all nodes in the cluster.kubectl get pods -n akamai-multicloud-demo -o wide
- To see all pods running in the cluster.
- Open the following urls to see the application:
http://<manager-ip|worker1-ip|worker2-ip|worker3-ip|akamai-gtm-hostname|akamai-property-hostname>
.
That's it! Now enjoy and have fun!
LinkedIn:
e-Mail: