반응형
Kubernetes localhost:8080 was refused 오류 해결 방법
kubectl 명령 실행 시 아래와 같은 오류가 발생하는 경우가 있습니다.
$ kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?
이 오류는 kubectl이 Kubernetes API Server 접속 정보를 찾지 못해 기본값인 localhost:8080으로 연결을 시도할 때 발생합니다.
즉, Kubeconfig 파일이 없거나 현재 사용자 계정에 올바르게 설정되지 않은 상태입니다.
원인
kubectl은 클러스터 접속 정보를 아래 경로의 설정 파일에서 읽어옵니다.
$HOME/.kube/config
해당 파일이 없거나 권한이 올바르지 않으면 API Server 주소를 알 수 없어 localhost:8080으로 접속하게 됩니다.
해결 방법
관리자 설정 파일(/etc/kubernetes/admin.conf)을 현재 사용자 환경으로 복사하여 kubeconfig를 구성합니다.
1. .kube 디렉터리 생성
mkdir -p $HOME/.kube
2. 관리자 설정 파일 복사
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
3. 현재 사용자 권한 적용
sudo chown $(id -u):$(id -g) $HOME/.kube/config
확인
설정 완료 후 다시 kubectl 명령을 실행합니다.
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 0 12h
정상적으로 Pod 목록이 조회되면 Kubernetes API Server 연결이 완료된 것입니다.
추가 확인 사항
현재 kubeconfig 환경 변수 확인
echo $KUBECONFIG
현재 클러스터 정보 확인
kubectl cluster-info
현재 컨텍스트 확인
kubectl config current-context
728x90
반응형
'리눅스' 카테고리의 다른 글
| docker rm 명령어 (0) | 2020.10.05 |
|---|---|
| CentOS 7에서 Bash 자동 완성 기능을 사용하는 방법 (0) | 2020.10.05 |
| [Kubernetes] kubernetes nginx 배포 테스트 -2 (0) | 2020.10.04 |
| [Kubernetes] Kubernetes docker cgroupfs 오류 (0) | 2020.10.04 |
| 우분투에 쿠버네티스 클러스터를 구성하는 방법 (0) | 2020.10.04 |