Install on Amazon Cloud
We can use https://eksctl.io which is the AWS supported way of setting up a K8's cluster (EKS).
1. Get your credentials
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
2. Setup your EKS install config
Copy the below (changing it as necessary) into a file called cluster.yaml
. You'll need to set the {ACCOUNT_ID} to your account.
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: bionic-gpt
region: us-east-2
managedNodeGroups:
- name: bionic-gpt
instanceType: t2.large
minSize: 2
maxSize: 4
iam:
withOIDC: true
serviceAccounts:
- metadata:
name: ebs-csi-controller-sa
namespace: kube-system
attachPolicyARNs:
- "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy"
wellKnownPolicies:
ebsCSIController: true
roleName: eksctl-cluster-ebs-role
roleOnly: true
addons:
- name: aws-ebs-csi-driver
serviceAccountRoleARN: "arn:aws:iam::{ACCOUNT_ID}:role/eksctl-cluster-ebs-role"
Dry Run eksctl
First a dry run
eksctl create cluster --dry-run -f cluster.yaml
You should see something like
accessConfig:
authenticationMode: API_AND_CONFIG_MAP
apiVersion: eksctl.io/v1alpha5
availabilityZones:
- us-east-2a
- us-east-2b
- us-east-2c
....
....
Now Create the Cluster
Run the command without the --dry-run
.
eksctl create cluster -f cluster.yaml
And wait....
And wait....
Finally after 20 minutes or more you'll hopefully have an EKS cluster.
Accessing the Kubeconfig file
The below will export the kubeconfig to your home directory.
eksctl utils write-kubeconfig --cluster bionic-gpt --region us-east-2
You can then
kubectl get nodes
Follow the "Install Bionic" guide to continue the installation.