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.