[Infra] 쿠버네티스(kubernetes)(6) The connection to the server localhost:8080 was refused
업데이트:
쿠버네티스(kubernetes)(6) The connection to the server localhost:8080 was refused
참고링크
참고 링크
- (0)도커의 개념
- (1)도커 설치하기, hello world!
- (2)도커 컨테이너 조작 기초(pull, run, ps)
- (3)도커 이미지 변경 후 저장(commit)
- (4)도커 컨테이너 네트워크
- (5)도커 API 이미지 빌드 및 컨테이너 실행
- (6)도커 컴포즈를 활용한 여러 개의 Flask, Nginx 배포
- (7)도커 볼륨을 이용한 데이터 관리
- (8)도커 장고 이미지 살펴보기
- (9)도커 PostgreSQL 컨테이너 배포
- (1)쿠버네티스 구조
- (2)쿠버네티스 설치
- (3)쿠버네티스 서비스 배포하기
- (4)컨테이너 IP와 파드 IP의 관계
- (5)퍼시스턴트 볼륨 스토리지
- (6)쿠버네티스 에러 메시지
1. 상황
어느날 우분투를 재부팅 했더니 다음과 같이 kubectl 명령어가 안먹히는 상황이 생겼습니다.
$ kubectl get node
The connection to the server localhost:8080 was refused - did you specify the right host or port?
홈 디렉토리를 살펴보니 있어야할 .kube 디렉토리가 사라졌더라구요. 따라서 다음 세줄을 입력했습니다.
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
그리고 다시 명령어를 입력했는데 역시 나 안되었습니다.
$ kubectl get node
Unable to connect to the server: EOF
뭐가 문젠가 싶어서 과거를 회상해보니 우분투 서버를 재시작한적이 있었어요.
그래서 혹시 스왑이 풀렸나 싶어서 찍어봤더니 역시나…
$ free -h
total used free shared buff/cache available
Mem: 62Gi 9.7Gi 20Gi 3.0Mi 32Gi 52Gi
Swap: 29Gi 0B 29Gi
스왑이 풀렸던 거였습니다, 위 표를 보면 스왑으로 29Gi가 사용중인 것을 알 수 있습니다.
~# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 31250428 0 -2
위 커맨드를 봐도 역시 스왑이 걸려있는 것을 알 수 있습니다.
따라서 스왑을 다시 잠급시다.
$ sudo -i
# swapoff --all
# free -h
total used free shared buff/cache available
Mem: 62Gi 9.7Gi 20Gi 3.0Mi 32Gi 52Gi
Swap: 0B 0B 0B
그리고 다음과 같이 찍으면
# cat /proc/swaps
Filename Type Size Used Priority
잘 잠긴것을 알수 있습니다.
2. 도커, 쿠버네티스와 firewalld와의 궁합
매우 좋지 않습니다. 도커 쿠버네티스 설치되어 있는 상태에서 firewalld 설치하는 순간 모든 도커 네트워크가 어그러져서 사용 불가합니다. 거의 못고치는 수준… 사실 위에서 스왑 어쩌고 했지만 원인은 firewalld 였습니다. 결국 결말은 포맷…