Issue

EKS 클러스터 삭제하기 ... (feat. The connection to the server localhost:8080 was refused - did you specify the right host or port?)

TTOII 2022. 3. 18. 03:14
728x90

............... 이번에 EKS 실습을 완료하고 혹시나 하는 마음에 AWS 결제 대시보드에 접속하니

;; 치킨 한마리 날라갔다...

 

원인을 찾아보니 EKS Cluster 생성할 때 default 설정 Cluster를 실수로 만들어 놓고 삭제를 안한 것.. ㅠ

 

EKS Cluster 삭제 방법에 대해 알아보겠다

핵심부터 말하면 삭제 명령줄은 다음과 같다.

eksctl delete cluster --region=[서비스 지역명] --name=[삭제할 클러스터명]

문제는 내가 default Cluster를 생성해버려서 클러스터명이 기억이 안난다는 것...;_;

 

kubectl이 설치되어 있다면 다음 명령줄을 이용해 현재 서비스중인 노드들의 정보를 알 수 있다. 

kubectl get nodes

그런데 나는 "The connection to the server localhost:8080 was refused - did you specify the right host or port?" 오류가 떠주었다 ^^... 점점 불안해지고 ... 계속 시간은 흘러서 요금은 점점 더 불고 있고 ㅎ

 

오류 발생 원인을 찾아보니 

보통 쿠버네티스 Config 파일이 $HOME/.kube 디렉토리에 없거나 현재 유저 정보가 쿠버네티스 Config 파일에 반영되지 않은 경우에 발생한다고 한다.

 

해결 방법은 다음과 같다.

 

1. AWS EKS로 구축한 클러스터에 접근할 때 발생한 경우

다음 명령어를 통해 AWS EKS 클러스터 접근을 위한 컨피그 파일을 생성해준다(물론 해당 명령어를 사용하기 전에 aws configure 명령어를 통해 AWS EKS 접근 가능한 계정으로 셋팅이 되어 있어야 한다)

$ aws eks --region [클러스터 리전] update-kubeconfig --name [클러스터 이름]

예를 들면 :

$ aws eks --region ap-northeast-2 update-kubeconfig --name cloud-eks

 

이런식으로 명령어를 사용하게 되면 $HOME/.kube 디렉토리 밑에 컨피그 파일이 생성된다.

 

2. kubeadmin으로 구축한 클러스터에 접근할 때 발생한 경우

1) 마스터 노드에서 에러가 발생한 경우 : /etc/kubernetes/admin.conf 파일을 $HOME/.kube/config로 복사 후 소유자 변경을 해준다.

$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

 

2) 마스터노드가 아닌 곳에서 에러가 발생한 경우 : 마스터노드(서버)에 생성된 $HOME/.kube/config 파일을 접근을 시도하는 서버의 $HOME/.kube 디렉토리로 가져온 후, chwon 명령어를 통해 소유자를 변경해준다(위 명령어와 동일) 

 

1번 방법으로 해결하려고 했더니 Cluster 이름을 알아야하는데 그래서 kubectl get nodes 명령어를 치면

The connection to the server localhost:8080 was refused - did you specify the right host or port? 에러가 뜨고...

kubectl get nodes 명령줄이 .kube/config 파일에 있는 nodes 정보를 가져오라는 내용이라서 

그냥 내가 직접 찾아서 Cluster명 찾고 지우기로 했다

root@DESKTOP-EMHDDBB:~# find . -name "config"
./.kube/config
./.aws/config

root@DESKTOP-EMHDDBB:~# cd .kube
root@DESKTOP-EMHDDBB:~/.kube# cat config
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1ETXhOakF5TkRNeE1Gb1hEVE15TURNeE16QXlORE14TUZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS3R6CnpPMEZMTWhnWitSOXlyaUczamFiQlRjaFdld2FHQmFuZkRYY1FOTngvTU5hRWR4VjRxN2RRSFZiMlM2dmVDSlEKQlBGc0hIWkJDRFRjNlBTczdjN2t4bUovVjlPQ0Z1enpOaW9COUgrZnZEbEtHV05Gb0k2S2hIOEE4Zi9XV3pQWgpmUWM1b28rNm14SUlIWmovOFJ6cDVpRDkrL21SM013NWJ0SDZpazIvbEs5Z3NoZVFFczU3ZWIzQmhvZVRVQzdRCmVxTnNHZGo1RWhGdDRhempNazBISzRpZ2d3Y3pVR0ZVd0hyaURKTCtVcCtEOVZ6ZndqMTNKdkdEUFlQYnI4MUgKSmJJeHZsYUtlQWlhbWIzcTh0QXNxUU4xTWVaZnYxamY5NFFwYTc4KytTQ0Y4YjZKWmdqV2Vkd1YxTVI3YnRQWAo4VHpOSmN0QXFzTEw3NEw1b3NNQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZNVmdvcnhYZnpoTlo0TUYvSHFnZS9OMklCbDNNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFBaVYrbG82a1RZYVdiYlFwNjVlK1VyL3JIeFhXNWpYeThkdjR4ek1mVDYvOUJnaEVvSApGVGgxU2NaTzRkQ0hLMkpWWVlwdVQ2MXpvNjlqclgwbDdVcXgrQ1ZaZ2FjRXdSemJTUUp6a0VRM0NCaFBsZkF3CmNwdXgvemtQNER4eVp4Ynh0c090SmJncHFCU21MRDIvQzdFdllySHZvWjA0c2RPc0szRzZZLzVGZllkMGd2SU0KWkx3WUViSVpJN203a1JiVlNCRFBVYVVTNUVCdG56d0ZrNVJkTHdDVUhNRDNlb3R0QTh0UjRvYnExTDZ0UUlrZwo2eDFZakhaZzFmVmlPanF0WEhLYlh2OVdNRnRSR2ZKL200ZG1oMVc5N1l2dnNOOTFtVm8zMDJZZzVQalZOb0pPCmxzbVdER2pVSUtuN3pIWkptcGVXRFp4bDJ1UWVoeU1LWVJaNgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://54B86B0FCBFFFDF1C689492CCE0E1C5D.gr7.ap-northeast-2.eks.amazonaws.com
  name: unique-monster-1647398224.ap-northeast-2.eksctl.io
contexts:
- context:
    cluster: unique-monster-1647398224.ap-northeast-2.eksctl.io
    user: ssh_service@unique-monster-1647398224.ap-northeast-2.eksctl.io
  name: ssh_service@unique-monster-1647398224.ap-northeast-2.eksctl.io
current-context: ""
kind: Config
preferences: {}
users:
- name: ssh_service@unique-monster-1647398224.ap-northeast-2.eksctl.io
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - eks
      - get-token
      - --cluster-name
      - unique-monster-1647398224
      - --region
      - ap-northeast-2
      command: aws
      env:
      - name: AWS_STS_REGIONAL_ENDPOINTS
        value: regional
      provideClusterInfo: false

뭔가 암호같은게 한바탕 나오는데 상관없다. 

그냥 users -> user -> exec -> args 에서 --cluster-name 하단을 보면 된다. 

내 Cluster명은 unique-monster-1647398224 였다. 혹시나 region도 기억안나면 --region 하단을 보자

root@DESKTOP-EMHDDBB:~/.kube# eksctl delete cluster --region=ap-northeast-2 --name=unique-monster-1647398224

드디어 요금의 굴레에서 해방되었고 다시 한번 Config 파일을 확인해보면

깔끔하다.

728x90