DF VP TPM Knowledge Transfer Session on AWS EKS
- 1. Clone this repo
- 2. Create IAM Role
- IAM Console - Roles - KT-AWS-EKS-Week26
- The role needs only to be created once. Can be reused to create more clusters.
- 3. Create VPC
- Execute this CloudFormation template via the AWS CF Console
- 4.Create the Control Plane
- Using AWS ECS Console
- Cluster name {your DF email address prefix}-eks-cluster
- 5. Install kubectl
- Linux
- Download from here into the project's root directory
- Make it executable $ chmod +x ./kubectl
- Check successful installation $ kubectl help
- Windows
- Download from here into the project's root directory
- Check successful installation $ kubectl help
- MacOS
- Download from here into the project's root directory
- Make it executable $ chmod +x ./kubectl
- Check successful installation $ kubectl help
- Linux
- 5. Install AWS IAM Authenticator
- Linux
- Download from here into the project's root directory
- Make it executable $ chmod +x ./aws-iam-authenticator
- Check successful installation $ aws-iam-authenticator help
- Windows
- Download from here into the project's root directory
- Check successful installation $ aws-iam-authenticator help
- MacOS
- Download from here into the project's root directory
- Make it executable $ chmod +x ./aws-iam-authenticator
- Check successful installation $ aws-iam-authenticator help
- Linux
- 6. Configure kubectl to access the EKS ckuster
- Open your clusters General Configuration from the using AWS ECS Console by clicking on the cluster
- Edit the kubeconfig file to replace...
- ${CLUSTER.endpoint} with the Cluster's API Server Endpoint
- ${CLUSTER.ca-cert} with the Cluster's CA certificate
- ${CLUSTER.name} with the Cluster's name
- 7. Check that we can access the EKS cluster
- Run $ kubectl --kubeconfig kubeconfig get svc to check communication with the cluster
- 8. Provision worker nodes
- Execute this CloudFormation template via the AWS CF Console
- Stack Name = {your name}-eks-cluster-nodegroup
- ClusterName = {your DF email address prefix}-eks-cluster
- ClusterControlPlaneSecurityGroup = select from drop down your cluster's VPC security group
- NodeGroupName = {your DF email address prefix}-eks-cluster-nodegroup
- NodeImageId = select from here the AMI corresponding to K8s v1.13.x for your region
- KeyPair = select your AWS key pair from the dropdown, to create a key pair follow the instructions here
- VpcId = select your cluster's VPC from the dropdown
- Subnets = select your cluster's VPC subnets from the dropdown
- Execute this CloudFormation template via the AWS CF Console
- 9. Add the worker nodes to the cluster
- Open your workers node group CloudFormation stack using the AWS CF Console and go to the Outputs tab
- Edit the aws_auth_cm.yaml file to replace...
- ${NodeGroup.NodeInstanceRole} with the NodeInstanceRole value
- Use kubectl to apply the config map
- $ kubectl --kubeconfig kubeconfig apply -f aws-auth-cm.yaml
- 10. Check worker nodes successfully joined the cluster
- Run $kubectl --kubeconfig kubeconfig get nodes