1. mobaxterm 접속 [ 13.208.241.85, username : ec2-user, keypair : nana ]
➜ (bs-sa-user4@myeks:N/A) [root@myeks-bastion-EC2 ~]# kubectl krew list
➜ (bs-sa-user4@myeks:N/A) [root@myeks-bastion-EC2 ~]# eksctl get nodegroup --cluster myeks
➜ (bs-sa-user4@myeks:N/A) [root@myeks-bastion-EC2 ~]# kubectl get node --show-labels | grep node.kubernetes

➜ (bs-sa-user4@myeks:N/A) [root@myeks-bastion-EC2 ~]# cat /root/.kube/config | yh
✅ cat을 사용하여 Kubernetes의 kubeconfig 파일을 출력하고, 그 결과를 yh라는 프로그램이나 명령어로 파이프하여 보내는 것

➜ (bs-sa-user4@myeks:N/A) [root@myeks-bastion-EC2 ~]# eksctl get addon --cluster myeks
✅ AWS EKS 클러스터에서 설치된 애드온(addon) 목록을 조회하는 명령

➜ aws ec2 describe-instances --query "Reservations[*].Instances[*].{PublicIPAdd:PublicIpAddress,PrivateIPAdd:PrivateIpAddress,InstanceName:Tags[?Key=='Name']|[0].Value,Status:State.Name}" --filters Name=instance-state-name,Values=running --output table

2. 3대의 워커노드의 Private IP 주소 변수 저장
➜ N1=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-3a -o jsonpath={.items[0].status.addresses[0].address})
➜ N2=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-3b -o jsonpath={.items[0].status.addresses[0].address})
➜ N3=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-3c -o jsonpath={.items[0].status.addresses[0].address})
3. 3대의 워커노드의 Private IP 주소 전역 변수로 선언 및 확인
➜ echo "export N1=$N1" >> /etc/profile
➜ echo "export N2=$N2" >> /etc/profile
➜ echo "export N3=$N3" >> /etc/profile
➜ echo $N1, $N2, $N3

➜ export N1=$(kubectl get node -o jsonpath={.items[0].status.addresses[0].address})
export N2=$(kubectl get node -o jsonpath={.items[1].status.addresses[0].address})
export N3=$(kubectl get node -o jsonpath={.items[2].status.addresses[0].address})
✅ IP 주소 찾기

4. 노드 그룹에 대한 보안 그룹에 관리 인스턴스 추가하기
➜ NGSGID=$(aws ec2 describe-security-groups --filters Name=group-name,Values=*ng1* --query "SecurityGroups[*].[GroupId]" --output text)

➜ 특정 보안 그룹 이름을 포함하는 보안 그룹을 필터링하여 그 ID를 출력
aws ec2 describe-security-groups \
--filters Name=group-name,Values=*ng1* \
--query "SecurityGroups[*].[GroupId]" \
--output text
➜ 특정 IP 주소에 대해 모든 프로토콜을 허용하는 규칙을 추가
aws ec2 authorize-security-group-ingress \
--group-id $NGSGID \
--cidr 192.168.1.53/32 \
--protocol '-1' \
➜ ssh 접속
✅ S3 버킷에 keypair 파일 업로드
✅ chmod 400 /home/ec2-user/nana.pem
✅ ssh -i /home/ec2-user/nana.pem ec2-user@$N1

➜ ssh ec2-user@N1 hostname
➜ ssh ec2-user@$N1 ip addr
➜ ssh ec2-user@$N1 ifconfig
➜ ssh ec2-user@$N1 id
➜ ssh ec2-user@N2 hostname
➜ ssh ec2-user@$N2 ip addr
➜ ssh ec2-user@$N2 ifconfig
➜ ssh ec2-user@$N2 id
➜ ssh ec2-user@N3 hostname
➜ ssh ec2-user@$N3 ip addr
➜ ssh ec2-user@$N3 ifconfig
➜ ssh ec2-user@$N3 id
➜ ssh ec2-user@N1 sudo yum install links tree jq tcpdump -y
➜ ssh ec2-user@N2 sudo yum install links tree jq tcpdump -y
➜ ssh ec2-user@N3 sudo yum install links tree jq tcpdump -y
'AWS' 카테고리의 다른 글
| [ 6 ] - EKS Storage : Snapshot Controller (0) | 2024.09.25 |
|---|---|
| [ 5 ] - pv, pvc 관련 실습 (0) | 2024.09.25 |
| [ 3 ] (0) | 2024.09.12 |
| [ 2 ] (0) | 2024.09.11 |
| [ 1 ] - 기본 Setting (0) | 2024.09.10 |