인프런 커뮤니티 질문&답변

이축복님의 프로필 이미지

작성한 질문수

대세는 쿠버네티스 [초급~중급]

쿠버네티스 설치 및 설정 관련 에러 질문

작성

·

878

1

현재 버추얼박스를 사용하는 case 2 번으로 설치진행중입니다.

제 로컬 영역이 192.168.10.* 영역으로 설정되어있어서

master - 192.168.10.30

node1 - 192.168.10.31

node2 - 192.168.10.32

로 설정하였으며 hostname은 blex-master, blex-node1, blex-node2 로 설정하였습니다.

설치과정은 선생님 블로그의 자료를 그대로 복붙하여 실행하였습니다.

다른부분은 다 잘되나 dashboard url로 들어가면 에러가 발생됩니다.

http://192.168.10.30:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/.

(제 master의 경우에 192.168.10.30이기에 해당url에서 ip만 변경함)

에러화면은 다음과 같습니다.

따로 이미지가 아니라 텍스트만 출력되므로 별도로 캡쳐하진 않았습니다.

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

해당 URL 들어갈 경우 위와같은 화면이 출력됩니다.

kubectl 명령어로 팟들 확인한 결과는 다음과 같습니다.

[root@blex-master ~]# kubectl get pods --all-namespaces

NAMESPACE     NAME                                       READY   STATUS    RESTARTS   AGE

kube-system   calico-kube-controllers-56cd854695-d5rxj   1/1     Running   0          9m16s

kube-system   calico-node-6tvtz                          1/1     Running   0          9m16s

kube-system   calico-node-c7ssh                          1/1     Running   0          9m15s

kube-system   calico-node-wlwbn                          1/1     Running   0          9m15s

kube-system   coredns-5c98db65d4-8fsvt                   1/1     Running   0          13m

kube-system   coredns-5c98db65d4-csx4f                   1/1     Running   0          13m

kube-system   etcd-blex-master                           1/1     Running   0          12m

kube-system   kube-apiserver-blex-master                 1/1     Running   0          12m

kube-system   kube-controller-manager-blex-master        1/1     Running   0          12m

kube-system   kube-proxy-4xf4z                           1/1     Running   0          13m

kube-system   kube-proxy-g75bx                           1/1     Running   0          10m

kube-system   kube-proxy-zvd44                           1/1     Running   0          10m

kube-system   kube-scheduler-blex-master                 1/1     Running   0          12m

kube-system   kubernetes-dashboard-6b8c96cf8c-cf6l9      1/1     Running   0          8m43s

무언가 설정이 빠졌거나 더 확인이 필요한 부분은 무엇이있을까요?

답변 11

1

이축복님의 프로필 이미지
이축복
질문자

위에 주신 삭제하는 명령어로 삭제 후 재설치 하니까 대시보드가뜨네요;;;;

원인은 모르겠습니다;;

1

이축복님의 프로필 이미지
이축복
질문자

위에주신 pod, service 관련 생성하여 테스트 결과도 전달드립니다.

[root@blex-master ~]# kubectl get svc svc-1

NAME    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE

svc-1   ClusterIP   10.107.116.62   <none>        9000/TCP   14s

[root@blex-master ~]# curl 10.107.116.62:9000/blex-master

curl: (7) Failed connect to 10.107.116.62:9000; 연결이 거부됨

1

이축복님의 프로필 이미지
이축복
질문자

http://192.168.10.30:8001/api/v1/namespaces/kube-system/services
링크로 접속한 결과입니다.
따로 페이지는 뜨는거없이 아래와같이 출력됩니다.

일단 위에주신 삭제후 재설치해보겠습니다.

{ "kind": "ServiceList", "apiVersion": "v1", "metadata": { "selfLink": "/api/v1/namespaces/kube-system/services", "resourceVersion": "8608" }, "items": [ { "metadata": { "name": "kube-dns", "namespace": "kube-system", "selfLink": "/api/v1/namespaces/kube-system/services/kube-dns", "uid": "47c706f1-6cfa-43a9-9885-9be66900cf51", "resourceVersion": "177", "creationTimestamp": "2020-05-07T05:04:53Z", "labels": { "k8s-app": "kube-dns", "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "KubeDNS" }, "annotations": { "prometheus.io/port": "9153", "prometheus.io/scrape": "true" } }, "spec": { "ports": [ { "name": "dns", "protocol": "UDP", "port": 53, "targetPort": 53 }, { "name": "dns-tcp", "protocol": "TCP", "port": 53, "targetPort": 53 }, { "name": "metrics", "protocol": "TCP", "port": 9153, "targetPort": 9153 } ], "selector": { "k8s-app": "kube-dns" }, "clusterIP": "10.96.0.10", "type": "ClusterIP", "sessionAffinity": "None" }, "status": { "loadBalancer": { } } }, { "metadata": { "name": "kubernetes-dashboard", "namespace": "kube-system", "selfLink": "/api/v1/namespaces/kube-system/services/kubernetes-dashboard", "uid": "1c413292-e394-40d0-aa0f-5108372f832b", "resourceVersion": "979", "creationTimestamp": "2020-05-07T05:09:38Z", "labels": { "k8s-app": "kubernetes-dashboard" }, "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"k8s-app\":\"kubernetes-dashboard\"},\"name\":\"kubernetes-dashboard\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":443,\"targetPort\":8443}],\"selector\":{\"k8s-app\":\"kubernetes-dashboard\"}}}\n" } }, "spec": { "ports": [ { "protocol": "TCP", "port": 443, "targetPort": 8443 } ], "selector": { "k8s-app": "kubernetes-dashboard" }, "clusterIP": "10.99.228.72", "type": "ClusterIP", "sessionAffinity": "None" }, "status": { "loadBalancer": { } } } ] }

1

이축복님의 프로필 이미지
이축복
질문자

결과 전달드립니다.

[root@blex-master ~]# kubectl get svc --all-namespaces

NAMESPACE     NAME                   TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE

default       kubernetes             ClusterIP   10.96.0.1      <none>        443/TCP                  34m

kube-system   kube-dns               ClusterIP   10.96.0.10     <none>        53/UDP,53/TCP,9153/TCP   34m

kube-system   kubernetes-dashboard   ClusterIP   10.99.228.72   <none>        443/TCP                  30m

1

이축복님의 프로필 이미지
이축복
질문자

kubectl logs 로 해당 컨테이너 확인결과는 다음과 같습니다.

[root@blex-master ~]# kubectl logs kubernetes-dashboard-6b8c96cf8c-cf6l9 -n kube-                                                                              system

2020/05/07 05:10:51 Starting overwatch

2020/05/07 05:10:51 Using in-cluster config to connect to apiserver

2020/05/07 05:10:51 Using service account token for csrf signing

2020/05/07 05:10:51 Successful initial request to the apiserver, version: v1.15.1                                                                              2

2020/05/07 05:10:51 Generating JWE encryption key

2020/05/07 05:10:51 New synchronizer has been registered: kubernetes-dashboard-ke                                                                              y-holder-kube-system. Starting

2020/05/07 05:10:51 Starting secret synchronizer for kubernetes-dashboard-key-hol                                                                              der in namespace kube-system

2020/05/07 05:10:51 Storing encryption key in a secret

2020/05/07 05:10:51 Creating in-cluster Heapster client

2020/05/07 05:10:51 Metric client health check failed: the server could not find                                                                               the requested resource (get services heapster). Retrying in 30 seconds.

2020/05/07 05:10:51 Auto-generating certificates

2020/05/07 05:10:51 Successfully created certificates

2020/05/07 05:10:51 Serving securely on HTTPS port: 8443

2020/05/07 05:11:21 Metric client health check failed: the server could not find                                                                               the requested resource (get services heapster). Retrying in 30 seconds.

2020/05/07 05:11:51 Metric client health check failed: the server could not find                                                                               the requested resource (get services heapster). Retrying in 30 seconds.

2020/05/07 05:12:21 Metric client health check failed: the server could not find                                                                               the requested resource (get services heapster). Retrying in 30 seconds.

0

일프로님의 프로필 이미지
일프로
지식공유자

잘됐네요...저도 모르겠습니다;; 

pod와 service 생성에 대한 테스트를 다시 해보셔야겠네요. 정상적으로 결과가 나와야하는데. Pod와 Service 강의를 들으시면서 다시 한번 해보세요.

수고하셨습니다.

0

일프로님의 프로필 이미지
일프로
지식공유자

그냥  아래와 같이 호출한 결과는 어떻게 되나요?

http://192.168.10.30:8001/api/v1/namespaces/kube-system/services

0

일프로님의 프로필 이미지
일프로
지식공유자

그리고 아래 명령으로 삭제하고 다시 설치해보시고요. 

kubectl delete -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/sample/practice/appendix/gcp-kubernetes-dashboard.yaml

그래도 안되면 대시보드 버전을 올려서 설치하는 법을 알려드릴께요.

주신 내용에서 딱히 안될만한 요소가 없어보이네요.

0

일프로님의 프로필 이미지
일프로
지식공유자

마스터에서 아래 명령으로 Pod와 Service를 만들어보고 curl로 제대로 호출되는지도 테스트 한번 해주세요.

1-1) Pod

cat <<EOF | kubectl create -f -

apiVersion: v1

kind: Pod

metadata:

  name: pod-1

  labels:

     app: pod

spec:

  nodeSelector:

    kubernetes.io/hostname: k8s-node1

  containers:

  - name: container

    image: kubetm/app

    ports:

    - containerPort: 8080

EOF

1-2) Service

cat <<EOF | kubectl create -f -

apiVersion: v1

kind: Service

metadata:

  name: svc-1

spec:

  selector:

    app: pod

  ports:

  - port: 9000

    targetPort: 8080

EOF

kubectl get svc svc-01 로 clusterIP 확인 후  curl clusterIP:9000/hostname

0

일프로님의 프로필 이미지
일프로
지식공유자

잘못된 부분이 없어보이네요....

0

일프로님의 프로필 이미지
일프로
지식공유자

kubectl get svc --all-namespaces 결과도 보여주시겠어요?