작성
·
876
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
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