How to deploy on EKS¶
The Amazon Elastic Kubernetes Service (EKS) is a popular, fully automated Kubernetes service.
EKS web interface: console.aws.amazon.com/eks/home
Prerequisites¶
A physical or virtual machine running Ubuntu 24.04+
Juju 3.6+ installed via snap
Install EKS tooling¶
Install the Amazon EKS CLI by following the official eksctl documentation.
Install the Amazon Web Services CLI by following the official AWS documentation
Install the kubectl CLI tools via snap:
user@host:~$ To check they are correctly installed, run
user@host:~$ eksctl version: 0.159.0
kubectl version: v1.28.2
user@host:~$ aws-cli/2.13.25 Python/3.11.5 Linux/6.2.0-33-generic exe/x86_64.ubuntu.23 prompt/off
user@host:~$ Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Authenticate¶
Create an IAM account or use legacy access keys to operate AWS:
user@host:~$ AWS Access Key ID [None]: SECRET_ACCESS_KEY_ID
AWS Secret Access Key [None]: SECRET_ACCESS_KEY_VALUE
Default region name [None]: eu-west-3
Default output format [None]:
user@host:~$ {
"UserId": "1234567890",
"Account": "1234567890",
"Arn": "arn:aws:iam::1234567890:root"
}
Create a new EKS cluster¶
Export the deployment name for later use:
user@host:~$ Example cluster.yaml:
user@host:~$ ---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: ${JUJU_NAME}
region: <region-name>
version: "1.27"
iam:
withOIDC: true