크게 4단계로 나눌 수 있다.
1. EKS Workshop 시작하기
1) Cloud9 Environment (EKS workshop) 생성
2) Kubernetes Tools 설치
3) IAM Role 생성
4) IAM Role 적용
5) IAM 설정 업데이트
2. Eksctl을 이용해 cluster 시작하기
1) eksctl 설치
2) EKS cluster 생성
3) EKS cluster 테스트
3. Helm CLI 설치
1) Helm CLI 설치 전
2) Helm CLI 설치
4. WordPress 설치
1) WordPress 설치
2) WordPress 접속
AWS 가이드가 제일 자세하고 정확하기 때문에 글의 하단에 참고 사이트를 확인하자.
가까운 region에서 생성하면 된다. 대표적인 region은 Oregon, Ireland, Ohio, Singapore 가 있다.
난 us-west-2에서 생성할 것이다. (개인 취향😊)
Name : eksworkshop
Instance type : t3.small (프리티어면 t2.micro)
언급한 것 외엔 모두 기본 설정값으로 생성한다.
처음엔 2분할 되어 터미널이 띄어지는데, 모두 닫고 새로운 터미널을 생성한다.
New Terminal workspace이렇게 세팅해놓고 시작하자.
sudo curl --silent --location -o /usr/local/bin/kubectl \
https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.7/2020-07-08/bin/linux/amd64/kubectl
sudo chmod +x /usr/local/bin/kubectl
sudo pip install --upgrade awscli && hash -r
sudo yum -y install jq gettext bash-completion moreutils
echo 'yq() {
docker run --rm -i -v "${PWD}":/workdir mikefarah/yq yq "$@"
}' | tee -a ~/.bashrc && source ~/.bashrc
yq
: command-line YAML processor, yaml 파일의 jq 또는 sed가 되는 것이 목적jq
: command-line JSON processorsed
:ed
명령어와grep
명령어 기능의 일부를 합친 명령어
for command in kubectl jq envsubst aws
do
which $command &>/dev/null && echo "$command in path" || echo "$command NOT FOUND"
done
kubectl completion bash >> ~/.bash_completion
. /etc/profile.d/bash_completion.sh
. ~/.bash_completion
kubectl completion bash
: bash의 kubectl 완성 스크립트 출력- 자세한건 여기서 참고하자
echo 'export ALB_INGRESS_VERSION="v1.1.8"' >> ~/.bash_profile
. ~/.bash_profile
AWS 서비스, EC2를 선택한다.
AdministratorAccess
를 선택한다.
Name : eksworkshop-admin
태그를 추가한다.
역할 이름 : eksworkshop-admin
설정한다.
[인스턴스 설정] > [IAM 역할 연결/바꾸기]
를 선택한다.
3번에서 생성한 IAM을 선택한다.
임시 credentials 파일이 이미 존재할 수도 있기 때문에,
기존 credentials 파일을 삭제한다.
rm -vf ${HOME}/.aws/credentials
현재 region을 default로 하여 aws cli를 설정해야한다.
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')
AWS_REGION이 원하는 region으로 되었는지 확인한다.
test -n "$AWS_REGION" && echo AWS_REGION is "$AWS_REGION" || echo AWS_REGION is not set
설정한 ACCOUNT_ID, AWS_REGION을 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
GetCallerIdentity CLI command를 사용하여 Cloud9 IDE가 올바른 IAM Role을 사용하고 있는지 확인한다.
aws sts get-caller-identity --query Arn | grep eksworkshop-admin -q && echo "IAM role valid" || echo "IAM role NOT valid"
IAM Role이 유효하면,
이 과정에서 NOT valid라고 출력되면, 이후의 과정을 절대 진행하지 말고 돌아가서 이 과정을 다시 확인하자.
이로써 거의 반이 끝났다.
자세한 사항은 AWS 공식 가이드를 참고하면 된다.
참고 https://www.eksworkshop.com/intermediate/250_cloudwatch_container_insights/