• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

안녕하세요 질문입니다.

20.02.25 16:08 작성 조회수 483

1

안녕하세요. 현재 강의를 수강하고 있는 학생입니다. 다름이 아니라 저의 태스트 환경이 강의와 조금 상이하여 초기 세팅부터 문제를 격고 있어 몇가지 질문을 드리려고 합니다.

현재 저의 개발 환경은 aws ec2 인스턴스 두 개와 이 둘을 ssh로 접근하는 mac기반 pc 하나입니다. kubeadm 명령어로 init 하는 것 까지는 성공하였으나 대시보드를 띄우는 데 어려움을 격고 있습니다. 강의의 설치관련 자료 세 개 및 여러 구글 자료를 참고하였지만 해결책을 찾을 수 없었습니다.

구체적인 문제는

nohup kubectl proxy --port=8001 --address=<master-pubric-ip> --accept-hosts='^*$' >/dev/null 2>&1 &

위 명령어를 실행했을 때 netstat로 포트를 확인해 보면

[1]+ Exit 255 sudo kubectl proxy --port=8001 --address=<master-pubric-ip> --accept-hosts='^*$' > /dev/null 2>&1

위와 같이 포트가 죽는 문제가 발생하고, 단순 아래와 같이 명령어를 실행하면

kubectl proxy

⇒ Starting to serve on 127.0.0.1:8001

포트가 열리기 하였으나, 맥 pc에서 해당 url(http://<aws-pubric-Ip>:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/)에 접근하면 사이트에 연결할 수 없음이라는 메세지가 뜨며 대시보드에 접근을 할 수 없습니다. aws 인바운드에는 포트 8001의 모든 tcp 를 열어둔 상대입니다. 어떤 식으로 해결해야 할 지 감이 안잡혀서 답답한 마음에 질문을 남깁니다. 감사합니다.

답변 15

·

답변을 작성해보세요.

1

네 알겠습니다!! 정말 감사합니다!!

1

짝짝짝 축하드립니다 ㅎ

강의 보시고 수강평도 부탁드려요 ^^

1

오...감사합니다 ... 다시 시도해보니깐 실행이되네요^^ 감사합니다!!!!! 다음과 같이 접근하였습니다. /api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login

1

일단 접근은 되는거죠? 접근하신 path가 어떻게 되나요? ip는 안알려주셔도 됩니다

1

시도해본 결과 

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
    
  },
  "status": "Failure",
  "message": "services \"kubernetes-dashboard\" not found",
  "reason": "NotFound",
  "details": {
    "name": "kubernetes-dashboard",
    "kind": "services"
  },
  "code": 404
}

다음과 같은 애러가 나타납니다.

1

위에 수정한 내용을 보셨을지 모르겠네요

1

네네 맞습니다. 이런 상황에서는 대시보드를 사용할 수 없는 건가요??

1

결국 Aws에서 Public IP로 추가적인 Port를 뚫는 부분이 안되는거네요?

좀 검색해보니  아래와 같이 Dashboard를 띄우라는 내용도 있는데 한번 해보시겠어요?

kubectl proxy --address='0.0.0.0' --port=8001 --accept-hosts='.*'

1

제 강의에 GCP 연동을 보면, GCP SDK 를 설치해서 내 Local PC와 연동을 해놓고 마스터 인스턴스에 localhost로 접근을 하는데,

현재 상황은 aws는 그런거 없이 해당 싸이트 에서 쿠버네티스 클러스터를 설정 한거고,

결국 외부 Public IP를 통해서 접근을 할 수 밖에 없는 상황인거죠?

1

빠른 답변감사드립니다. 현재 노드를 aws 인스턴스 두개만 사용하고 있어서 local PC로 접근할 수 없는 상황입니다. 맥 PC에서 마스터인 aws 인스턴스에 접근이 안됩니다.

1

네, 일단 저도 aws위에서 쿠버네티스를 구동해본게 아니라서 명확하게 답변을 드리기는 힘들꺼 같고.

저도 GCP에서 해본봐로는 거기선 아래 명령어로 Dashboard를 뛰우진 않고

nohup kubectl proxy --port=8001 --address=<master-pubric-ip> --accept-hosts='^*$' >/dev/null 2>&1 &

두번째 말씀하신 kubectl proxy 명령으로만 대시보드를 띄었고요.

접근을 할때 public ip로 접근이 아닌 내 로컬 PC에서  http://127.0.0.1:8080로 접근을 했었는데 이렇게도 접근이 안되는 건가요?

아니면 이렇게는 되는데 외부에서 해당 master-pubric-ip로 접근을 하는 부분만 안되는건지요?

1

 kubectl get pods --all-namespaces 입력해보니 모든 namespace의 status가 running입니다. 정상 작동 되고 있는 것 같습니다

1

MAC이 마스터가 아니고 aws 인스턴스 하나가 마스터입니다. 오타가 있었네요 .. 192.168.0.30이 아닌 aws 인스턴스 중 마스터인 pubric ip 를 입력했습니다.

1

네 안녕하세요.

Mac PC에 Master가 설치되어 있는거고, Mac의 IP가 192.168.0.30 인가요? 

그리고 kubectl get pods --all-namespaces 명령을  날렸을때 모든 Pod들이 정상적으로 동작중인건지요?

0

Umi님의 프로필

Umi

2020.03.15

저같은 경우에는 kubectl get svc -A 를 통해 확인한 kubernetes-dashboard 서비스의 namespace가 kubernetes-dashboard였습니다.

http://public 아이피:포트/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login 가 아닌

http://public 아이피:포트/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#!/login

로 접속하니 작동하네요!