[Infra] 쿠버네티스(kubernetes)(6) The connection to the server localhost:8080 was refused

업데이트:

쿠버네티스(kubernetes)(6) The connection to the server localhost:8080 was refused

참고링크

운영체제 프론트엔드 백엔드 데이터베이스 인프라
리눅스구조 js필터 아파치에러로그 행삭제 아파치스쿱
프로세스 헬로월드 웹서버개념 ES기초 로그분석
네임스페이스 프로젝트생성 아파치설치 MySQL기초 beeline
디렉토리 헤더생성 flask연동 큐브리드 하둡기초
리다이렉션 async-get 장고MsSQL연결 null공백 나이파이
쓰레드 async-post 장고MySQL연결 MySQL설치(win) 백본
라즈베리파이설치 로그인페이지 장고inpectdb MySQL테이블생성 제플린
OSI7계층소개   장고read   SSL인증
OSI1계층   장고insert   커버로스
OSI2계층   장고put   도커개념
OSI3계층   장고del   도커설치
OSI4계층   flask한글요청   도커기초
OSI5,6,7계층       도커이미지
DNS서버       컨테이너네트워크
DHCP       도커API
bashrc       도커컴포즈
bash       도커볼륨
ifconfig       장고이미지
소켓프로그래밍       도커postgre
리눅스유저생성       도커이미지삭제
netstat포트열기       도커Redis
컴파일러       k8s구조
운영체제vs커널       k8s설치
작업스케쥴링       k8s서비스배포
디스크추가       POD네트워크
aws유저추가       퍼시스턴트볼륨
기초명령어       k8s에러
포트번호        

참고 링크

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 였습니다. 결국 결말은 포맷…