AWS

Overview

The below guide relies on ACM for certificates. Amazon issues them at no-charge and they require you to use custom hostname. It's not possible to setup HTTPS using aws provided hostname

Step 1 - Deploy an Ingress Controller

If you followed the install guide, you already cloned this in Step 1. If you didn't, please run

git clone https://github.com/kaytu-io/automation

In "infrastructure/aws/ingress" folder, update line 17 in ingress.yaml with the hostname you plan to use for the load balancer.

git clone https://github.com/kaytu-io/automation
cd infrastructure/aws/ingress
kubectl apply -f ingress.yaml
kubectl get ingress -n kaytu-octopus

The last command will fetch the FQDN of the ingress.

Create a CNAME record in your DNS that points to your Hostname

Step 2 - Create and Apply Certificate

a. Create a ACM Certificate and write down the ARN

To request an ACM public certificate (console)

  1. Sign in to the AWS Management Console and open the ACM console at https://console.aws.amazon.com/acm/home. Please make sure you in the same region as the Kubernetes Cluster that was created

    Choose Request a certificate.

  2. In the Domain names section, type your domain name.

  3. In the Key algorithm section, chose one of the three available algorithms:

    • RSA 2048 (default)

  4. Please wait for the Certificate be in "Issued" if the domain is already validated, it will take a few seconds. if the domain DNS is validated, the certificate is issued a few minutes after validation

  5. Copy the ARN of the certificate

After you have the ARN on hand, open the ingress.yaml file. Comment line 11. Uncomment Line 12 and 13.

Replace the value on line 13 with the ARN of the ACM Certificate

kubectl apply -f ingress.yaml
kubectl get ingress -n kaytu-octopus

That's it! the app should be accessible on the hostname.

Step 3 - Update the App Config in git

Go to your to the following file in Git: operators/kaytu-octopus.yaml

Update Hostname. In the below example, we use demo4.kaytu.sh

Last updated