1. EC2 인스턴스 생성 및 접속
2. AWS CLI 설치 및 구성
sudo apt-get install -y unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
aws configure
aws sts get-caller-identity
3. eksctl 및 kubectl 설치
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"
tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz
sudo mv /tmp/eksctl /usr/local/bin
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.7/2023-11-14/bin/linux/amd64/kubectl
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
kubectl version --short --client
4. EKS 클러스터 생성
eksctl create cluster \
--name k8s-scw \
--region ap-northeast-2 \
--with-oidc \
--ssh-access \
--ssh-public-key encore_17_key \
--nodes 3 \
--node-type t3.medium \
--node-volume-size=20 \
--managed
5. kubectl 자동완성 설정
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
6. k9s 설치
wget https://github.com/derailed/k9s/releases/download/v0.13.7/k9s_0.13.7_Linux_i386.tar.gz
tar xvzf k9s_0.13.7_Linux_i386.tar.gz
sudo mv k9s /usr/local/bin
7. Kubernetes 용어 및 명령어
kubectl get pods --all-namespaces
kubectl create deployment webtest --image=nginx:1.14 --port=80 --replicas=1
kubectl get pods -o wide
8. 애플리케이션 배포 및 관리
kubectl create deployment dpy-nginx --image=nginx
kubectl get pods --all-namespace
kubectl exec -it pod-name -- /bin/bash
kubectl delete deployment dpy-nginx
9. 애플리케이션 롤아웃
kubectl apply -f echo-hname.yaml
kubectl scale deployment echo-hname --replicas=3
kubectl rollout history deployment echo-hname
kubectl set image deployment echo-hname nginx=nginx:1.17.23 --record
kubectl rollout status deployment echo-hname
kubectl rollout undo deployment echo-hname
10. 노드 조작
kubectl cordon node-name
kubectl uncordon node-name
kubectl drain node-name --ignore-daemonsets --delete-emptydir-data