web-dev-qa-db-ja.com

Kubernetesダッシュボードが機能しない、「すでに存在する」、「リクエストされたリソースが見つかりませんでした(サービスヒープスターを取得)」

Kubernetesは初めてです

目標は、Kubernetesクラスターダッシュボードを機能させることです

KubernetesクラスターはKubesprayを使用してデプロイされました: github.com/kubernetes-incubator/kubespray

バージョン:

_Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.6", GitCommit:"4bc5e7f9a6c25dc4c03d4d656f2cefd21540e28c", GitTreeState:"clean", BuildDate:"2017-09-15T08:51:21Z", GoVersion:"go1.9", Compiler:"gc", Platform:"darwin/AMD64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.3+coreos.0", GitCommit:"42de91f04e456f7625941a6c4aaedaa69708be1b", GitTreeState:"clean", BuildDate:"2017-08-07T19:44:31Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/AMD64"}
_

説明されているように_kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml --validate=false_を実行すると ここ

私は得る:

_Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": secrets "kubernetes-dashboard-certs" already exists
Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": serviceaccounts "kubernetes-dashboard" already exists
Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": roles.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" already exists
Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": rolebindings.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" already exists
Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": deployments.extensions "kubernetes-dashboard" already exists
Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": services "kubernetes-dashboard" already exists
_

_kubectl get services --namespace kube-system_を実行すると、次のようになります。

_NAME                   CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kube-dns               10.233.0.3      <none>        53/UDP,53/TCP   10d
kubernetes-dashboard   10.233.28.132   <none>        80/TCP          9d
_

ダッシュボードのkubernetesクラスターにアクセスしようとすると、_Connection refused_が表示されます

_kubectl logs --namespace=kube-system kubernetes-dashboard-4167803980-1dz53_出力:

_2017/09/27 10:54:11 Using in-cluster config to connect to apiserver
2017/09/27 10:54:11 Using service account token for csrf signing
2017/09/27 10:54:11 No request provided. Skipping authorization
2017/09/27 10:54:11 Starting overwatch
2017/09/27 10:54:11 Successful initial request to the apiserver, version: v1.7.3+coreos.0
2017/09/27 10:54:11 New synchronizer has been registered: kubernetes-dashboard-key-holder-kube-system. Starting
2017/09/27 10:54:11 Starting secret synchronizer for kubernetes-dashboard-key-holder in namespace kube-system
2017/09/27 10:54:11 Initializing secret synchronizer synchronously using secret kubernetes-dashboard-key-holder from namespace kube-system
2017/09/27 10:54:11 Initializing JWE encryption key from synchronized object
2017/09/27 10:54:11 Creating in-cluster Heapster client
2017/09/27 10:54:11 Serving securely on HTTPS port: 8443
2017/09/27 10:54:11 Metric client health check failed: the server could not find the requested resource (get services heapster). Retrying in 30 seconds.
_

その他の出力:

_kubectl get pods --namespace=kube-system_:

_NAME                                    READY     STATUS    RESTARTS   AGE
calico-node-bqckz                       1/1       Running   0          12d
calico-node-r9svd                       1/1       Running   2          12d
calico-node-w3tps                       1/1       Running   0          12d
kube-apiserver-kubetest1                1/1       Running   0          12d
kube-apiserver-kubetest2                1/1       Running   0          12d
kube-controller-manager-kubetest1       1/1       Running   2          12d
kube-controller-manager-kubetest2       1/1       Running   2          12d
kube-dns-3888408129-n0m8d               3/3       Running   0          12d
kube-dns-3888408129-z8xx3               3/3       Running   0          12d
kube-proxy-kubetest1                    1/1       Running   0          12d
kube-proxy-kubetest2                    1/1       Running   0          12d
kube-proxy-kubetest3                    1/1       Running   0          12d
kube-scheduler-kubetest1                1/1       Running   2          12d
kube-scheduler-kubetest2                1/1       Running   2          12d
kubedns-autoscaler-1629318612-sd924     1/1       Running   0          12d
kubernetes-dashboard-4167803980-1dz53   1/1       Running   0          1d
nginx-proxy-kubetest3                   1/1       Running   0          12d
_

_kubectl proxy_:

_Starting to serve on 127.0.0.1:8001panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2692f20]

goroutine 1 [running]:
k8s.io/kubernetes/pkg/kubectl.(*ProxyServer).ServeOnListener(0x0, 0x3a95a60, 0xc420114110, 0x17, 0xc4208b7c28)
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubectl/proxy_server.go:201 +0x70
k8s.io/kubernetes/pkg/kubectl/cmd.RunProxy(0x3aa5ec0, 0xc42074e960, 0x3a7f1e0, 0xc42000c018, 0xc4201d7200, 0x0, 0x0)
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubectl/cmd/proxy.go:156 +0x774
k8s.io/kubernetes/pkg/kubectl/cmd.NewCmdProxy.func1(0xc4201d7200, 0xc4203586e0, 0x0, 0x2)
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubectl/cmd/proxy.go:79 +0x4f
k8s.io/kubernetes/vendor/github.com/spf13/Cobra.(*Command).execute(0xc4201d7200, 0xc420358500, 0x2, 0x2, 0xc4201d7200, 0xc420358500)
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/Cobra/command.go:603 +0x234
k8s.io/kubernetes/vendor/github.com/spf13/Cobra.(*Command).ExecuteC(0xc4202e4240, 0x5000107, 0x0, 0xffffffffffffffff)
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/Cobra/command.go:689 +0x2fe
k8s.io/kubernetes/vendor/github.com/spf13/Cobra.(*Command).Execute(0xc4202e4240, 0xc42074e960, 0x3a7f1a0)
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/Cobra/command.go:648 +0x2b
k8s.io/kubernetes/cmd/kubectl/app.Run(0x0, 0x0)
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kubectl/app/kubectl.go:39 +0xd5
main.main()
    /private/tmp/kubernetes-cli-20170915-41661-iccjh1/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kubectl/kubectl.go:26 +0x22
_

_kubectl top nodes_:

_Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
_

_kubectl get svc --namespace=kube-system_:

_NAME                   CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kube-dns               10.233.0.3      <none>        53/UDP,53/TCP   12d
kubernetes-dashboard   10.233.28.132   <none>        80/TCP          11d
_

_curl http://localhost:8001/ui_:curl: (7) Failed to connect to 10.2.3.211 port 8001: Connection refused

ダッシュボードを機能させるにはどうすればよいですか?あなたの助けに感謝。

4
Ivan

ダッシュボードバージョン1.7をインストールしている可能性があります。十分にテストされたバージョン1.6.3をインストールしてみてください。

kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin  --serviceaccount=kube-system:default
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.6.3/src/deploy/kubernetes-dashboard.yaml

アップデート10/2/17:これを試すことができます:1.6.3バージョンを削除してインストールします。

kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 


kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin  --serviceaccount=kube-system:default
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.6.3/src/deploy/kubernetes-dashboard.yaml
4
sfgroups

GCPまたはAzureを介してデプロイしている場合、kubernetesダッシュボードはデフォルトですでに利用可能になっていると思います。最初のエラーはこれをすでに説明しています。確認するには、次のコマンドを入力して、名前空間kube-systemでポッド/サービスを検索します。

>kubectl get pods --namespace=kube-system 
>kubectl get svc --namespace=kube-system 

上記のコマンドから、利用可能なkubernetesダッシュボードが見つかるはずなので、再度デプロイする必要はありません。ダッシュボードにアクセスするには、次のコマンドを入力します。

>kubectl proxy 

これにより、このコマンドを入力したマシンの http:// localhost:8001/ui でダッシュボードを使用できるようになります。

しかし、あなたの問題についてもっと理解するために、現在使用しているkubernetesのバージョンと環境を教えてください。また、これら2つのコマンドの結果を見せていただければ幸いです。

>kubectl get pods --namespace=kube-system 
>kubectl top nodes 
1
Isaac Wong