AWS

[ 4 ]

zhuxiclover 2024. 9. 13. 16:40

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