Khởi tạo và setup các môi trường cần thiết cho Kubernetes trên Cloud 9 của AWS sử dụng EKS.

High Level Amazon EKS

Theo cấu trúc trên chúng ta có 2 VPC (Amazon Virtual Private Cloud), một nơi chứa các Woker Nodes đang chạy và 1 VPC khác chứa Master Nodes ở đây nó là EKS Control Plane, chi tiết hơn chúng ta cùng xem hình ảnh sau.

Chạy một môi trường trên cloud9

Trước hết mình sẽ chọn khu vực cần thiết để tạo environment

Truy cập vào đường dẫn sau: https://console.aws.amazon.com/cloud9/home/product

Chúng ta có màn hình hiển thị

Nhấn chọn Create Environment

Nhập tên môi trường. Và Next Step

Ở bước tiếp theo, chúng ta sẽ để mặc định xài hàng Free Tier t2.microCreate environment

Đây là môi trường của chúng ta =)) có giao diện giống như các IDE.

Cài đặt Kubernetes

Chúng ta sẽ chọn New Terminal để tạo 1 terminal để cài đặt

Install kubectl

sudo curl --silent --location -o /usr/local/bin/kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.14.6/2019-08-22/bin/linux/amd64/kubectl
sudo chmod +x /usr/local/bin/kubectl

Install jq, envsubst (from GNU gettext utilities) and bash-completion

sudo yum -y install jq gettext bash-completion

Enable kubectl bash_completion

kubectl completion bash >>  ~/.bash_completion
. /etc/profile.d/bash_completion.sh
. ~/.bash_completion

Khởi Tạo IAM ROLE cho Workspace

Truy cập vào IAM

Create Role

Hãy chắc chắn rằng sẽ chọn AdministratorAccess

Sau đó Next: Review

Mình sẽ đặt Role Name là: eks-admin

Cấp quyền IAM cho Workspace

Truy cập trang EC2 có các Instance

Select Attach/Replace IAM Role

Chọn eks-admin mà mình đã tạo

Config AWS CLI với khu vực của mình

export ACCOUNT_ID=$(aws sts get-caller-identity --output text --query Account)
export AWS_REGION=$(curl -s 169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')

Lưu thông tin đó vào bash_profile

echo "export ACCOUNT_ID=${ACCOUNT_ID}" | tee -a ~/.bash_profile
echo "export AWS_REGION=${AWS_REGION}" | tee -a ~/.bash_profile
aws configure set default.region ${AWS_REGION}
aws configure get default.region

Kiểm tra IAM Role

aws sts get-caller-identity

sẽ hiển thị kết quả:

{
    "Account": "243148885372", 
    "UserId": "AROATRHGNRV6EL6JDSTFH:i-03396afa59aea6e90", 
    "Arn": "arn:aws:sts::243148885372:assumed-role/eks-admin/i-03396afa59aea6e90"
}

eks-admin đã được cấp quyền đối với environment này

Tiếp theo

Chúng ta sẽ cài đặt eksctl và tạo cluster.

All Rights Reserved