|
1 | | -How to run knot on aws: |
2 | | - - cd into 'eks' folder |
3 | | - - run 'terraform apply' to create the eks cluster |
4 | | - - run 'aws eks --region us-east-1 update-kubeconfig --name tf-cluster' in order to connect onto the remote cluster and be able to run commands on it |
5 | | - - (optional) run 'kubectl get pods -A' to make sure that connected onto the cluster |
6 | | - - export the KNOT_HOST envirometal as descibed in knot readme ($env:KNOT_HOST="mydns" in windows) |
7 | | - - cd back onto the folder with knot helmfile |
8 | | - - run 'helmfile sync --concurrency 1' to deploy knot onto the cluster |
9 | | - -after running the helmfile make sure that knot ingress is up |
10 | | - - goto aws route53 console and connect knot ingress to your dns |
11 | | - - *at the bottom of this read me you'll find details on how to do this* |
12 | | - - wait for you dns to propagate and after a while you should be able to see knot be pinging you dns |
13 | | - |
14 | | - |
15 | | -*Creating the route53 records |
16 | | -As an example I'm using the custon dns "boiboiapp.com" |
17 | | - - Create a route53 hosted zone on aws |
18 | | - - Create records of said route53 in which |
19 | | - - record type = A |
20 | | - - alias = on |
21 | | - - type = Alias to Network Load Balancer |
22 | | - - area = US East (N. Virginia) |
23 | | - - Record name = *.boiboiapp.com/boiboiapp.com (create on record for each) |
24 | | -  |
| 1 | +# Deploy on EKS with Terraform |
| 2 | + |
| 3 | +How to run Knot on AWS's EKS with [Terraform](https://www.terraform.io): |
| 4 | +```bash |
| 5 | +terraform apply # Create the EKS cluster |
| 6 | +aws eks --region us-east-1 update-kubeconfig --name tf-cluster # Connect to it |
| 7 | +``` |
| 8 | + |
| 9 | +You should now be able to run `kubectl get pods -A` and see the cluster's pods with no errors. |
| 10 | + |
| 11 | +Install Knot: |
| 12 | +```bash |
| 13 | +export KNOT_HOST=example.com # $env:KNOT_HOST="example.com" in Windows |
| 14 | +helmfile -f git::https://github.com/CARV-ICS-FORTH/ [email protected] sync --concurrency 1 |
| 15 | +``` |
| 16 | + |
| 17 | +Now you need to go to Route53's console, create a hosted zone for your DNS name and two records that point to Knot's ingress: `example.com` and `*.example.com`. |
| 18 | + |
| 19 | +The screenshot below shows an example DNS entry. |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +For each record, make sure that: |
| 24 | +- Record type is `A`. |
| 25 | +- Alias is on. |
| 26 | +- Type is `Alias to Network Load Balancer`. |
| 27 | +- Area is `US East (N. Virginia)` (or your preferred region). |
| 28 | +- You select Knot's ingress service. |
| 29 | + |
| 30 | +Now wait for the DNS settings to propagate. After a while you should be able to visit Knot in your browser. |
0 commit comments