1. 전에 구축한 기본망에서 다음 변수들 확인 [ log 지우기 : kubeoff ]
➜ echo $AWS_DEFAULT_REGION
➜ echo $CLUSTER_NAME
➜ echo $VPCID
➜ echo $PubSubnet1
➜ echo $PubSubnet2

2. 구축된 기본망에 명령어 (eksctl)로 설치
➜ [root@myeks-host ~]# eksctl create cluster --name myeks --region=us-west-1 --dry-run
➜ [root@myeks-host ~]# eksctl create cluster --name myeks --region=us-west-1 --without-nodegroup --dry-run
✅ 노드 그룹 없이 만들어줌
➜ 입력
✅ Stack, Cluster, node 생성
eksctl create cluster \
--name $CLUSTER_NAME \
--region=$AWS_DEFAULT_REGION \
--nodegroup-name=$CLUSTER_NAME-nodegroup \
--node-type=t3.medium \
--node-volume-size=30 \
--vpc-public-subnets "$PubSubnet1,$PubSubnet2" \
--version 1.27 \
--ssh-access \
--external-dns-access \
--verbose 4 \
➜ 프로세스 확인
# SSH를 통해 N1 노드에 접속하여 시스템에서 실행 중인 모든 프로세스를 트리 형태로 나열
ssh ec2-user@$N1 sudo ps axf
# 위의 명령어와 동일하게 N1 노드에 접속하지만, /user/container라는 문자열이 포함된 프로세스만 필터링하여 출력
ssh ec2-user@$N1 sudo ps axf | grep /user/container
# N1 노드에 접속하여 Kubelet 서비스의 상태를 확인
ssh ec2-user@$N1 sudo systemctl status kubelet
# N1 노드에 접속하여 해당 노드의 호스트 이름을 출력
ssh ec2-user@$N1 hostname
# SSH를 통해 N1 노드에 접속
ssh ec2-user@$N1
# 현재 클러스터의 모든 노드 정보를 넓은 형식으로 출력
kubectl get node -o wide
# 클러스터의 모든 노드 정보를 JSON 형식으로 출력
kubectl get node -o json
# 첫 번째 노드의 IP 주소를 가져와서 환경 변수 N1에 저장
export N1=$(kubectl get node -o jsonpath={.items[0].status.addresses[0].address})
# 두 번째 노드의 IP 주소를 가져와서 환경 변수 N2에 저장
export N2=$(kubectl get node -o jsonpath={.items[1].status.addresses[0].address})
# N1 환경 변수를 /etc/profile 파일에 추가하여 시스템 전체에서 사용할 수 있도록 설정
echo "export N1=$N1" >> /etc/profile
# N2 환경 변수를 /etc/profile 파일에 추가
echo "export N2=$N2" >> /etc/profile
➜ YAML 파일 다운
✅ curl -s -O https://raw.githubusercontent.com/cloudneta/cnaeblab/master/_data/mario.yaml
✅ 시크릿 모드로 접속해서 게임 확인
'AWS' 카테고리의 다른 글
| [ 4 ] (0) | 2024.09.13 |
|---|---|
| [ 3 ] (0) | 2024.09.12 |
| [ 1 ] - 기본 Setting (0) | 2024.09.10 |
| [ AWS batch & ECR ] (0) | 2024.09.06 |
| [ AWS Architecture Diagram ] (0) | 2024.09.05 |