web-dev-qa-db-ja.com

Minikubeが起動せず、サーバーへのkubectl接続が拒否されました

同様の問題のスタックオーバーフローソリューションを精査しても問題は解決しなかったため、現在経験していることを共有して、デバッグのヘルプを得たいと考えています。

だから小さな序文;数日前にminikube/kubectlを最初にインストールしました。私は先に進み、今日、minikubeのチュートリアルに従ってみましたが、現在問題が発生しています。 minikubeスタートガイド をフォローしています。

私はMacOSにいます。私のバージョン:

$ kubectlバージョン

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:22:21Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/AMD64"}
Unable to connect to the server: net/http: TLS handshake timeout

$ minikubeバージョン

minikube version: v0.26.1

$ vboxmanage --version

5.1.20r114629

以下は、応答を確認しようとしたコマンドの文字列です。


$ minikubeスタート

Starting VM...
Getting VM IP address...
Moving files into cluster...
E0503 11:08:18.654428   20197 start.go:234] Error updating cluster:  downloading binaries: transferring kubeadm file: &{BaseAsset:{data:[] reader:0xc4200861a8 Length:0 AssetName:/Users/philipyoo/.minikube/cache/v1.10.0/kubeadm TargetDir:/usr/bin TargetName:kubeadm Permissions:0641}}: Error running scp command: Sudo scp -t /usr/bin output: : wait: remote command exited without exit status or exit signal

$ minikubeステータス

cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.103

編集:

何が起こったのかわかりませんが、ステータスを再度チェックすると「Misconfigured」が返されました。推奨コマンド$ minikube update-contextを実行しましたが、$ minikube ipは「172.17.0.1」をポイントしています。このIPにpingを実行すると、要求タイムアウト、100%のパケット損失が返されます。コンテキストを再確認しましたが、コンテキストとクラスターの両方で「minikube」を使用しています。

$ kubectl config get-cluster

$ kubectl config get-context


$ kubectl get pods

The connection to the server 192.168.99.103:8443 was refused - did you specify the right Host or port?

Githubの問題を読んで、私はこれに遭遇しました: kubernetes#44665 。そう...

$ ls/etc/kubernetes

ls: /etc/kubernetes: No such file or directory

最後のいくつかのエントリのみ

$ minikubeログ

May 03 18:10:48 minikube kubelet[3405]: E0503 18:10:47.933251    3405 event.go:209] Unable to write event: 'Patch https://192.168.99.103:8443/api/v1/namespaces/default/events/minikube.152b315ce3475a80: dial tcp 192.168.99.103:8443: getsockopt: connection refused' (may retry after sleeping)
May 03 18:10:49 minikube kubelet[3405]: E0503 18:10:49.160920    3405 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:465: Failed to list *v1.Service: Get https://192.168.99.103:8443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.99.103:8443: getsockopt: connection refused
May 03 18:10:51 minikube kubelet[3405]: E0503 18:10:51.670344    3405 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.99.103:8443/api/v1/pods?fieldSelector=spec.nodeName%3Dminikube&limit=500&resourceVersion=0: dial tcp 192.168.99.103:8443: getsockopt: connection refused
May 03 18:10:53 minikube kubelet[3405]: W0503 18:10:53.017289    3405 status_manager.go:459] Failed to get status for pod "kube-controller-manager-minikube_kube-system(c801aa20d5b60df68810fccc384efdd5)": Get https://192.168.99.103:8443/api/v1/namespaces/kube-system/pods/kube-controller-manager-minikube: dial tcp 192.168.99.103:8443: getsockopt: connection refused
May 03 18:10:53 minikube kubelet[3405]: E0503 18:10:52.595134    3405 rkt.go:65] detectRktContainers: listRunningPods failed: rpc error: code = Unavailable desc = grpc: the connection is unavailable

Https URLをpingする方法は正確にはわかりませんが、ipをpingすると

$ kube ping 192.168.99.103

PING 192.168.99.103 (192.168.99.103): 56 data bytes
64 bytes from 192.168.99.103: icmp_seq=0 ttl=64 time=4.632 ms
64 bytes from 192.168.99.103: icmp_seq=1 ttl=64 time=0.363 ms
64 bytes from 192.168.99.103: icmp_seq=2 ttl=64 time=0.826 ms
^C
--- 192.168.99.103 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.363/1.940/4.632/1.913 ms

Kube設定ファイルを確認しています... $ cat ~/.kube/config

apiVersion: v1
clusters:
- cluster:
    insecure-skip-tls-verify: true
    server: https://localhost:6443
  name: docker-for-desktop-cluster
- cluster:
    certificate-authority: /Users/philipyoo/.minikube/ca.crt
    server: https://192.168.99.103:8443
  name: minikube
contexts:
- context:
    cluster: docker-for-desktop-cluster
    user: docker-for-desktop
  name: docker-for-desktop
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: docker-for-desktop
  user:
    client-certificate-data: <removed>
    client-key-data: <removed>
- name: minikube
  user:
    client-certificate: /Users/philipyoo/.minikube/client.crt
    client-key: /Users/philipyoo/.minikube/client.key

そして、私のキー/ crtsがそこにあることを確認するために:

$ ls〜/ .minikube

addons/              ca.pem*              client.key           machines/            proxy-client.key
apiserver.crt        cache/               config/              profiles/
apiserver.key        cert.pem*            files/               proxy-client-ca.crt
ca.crt               certs/               key.pem*             proxy-client-ca.key
ca.key               client.crt           logs/                proxy-client.crt

デバッグの助けをいただければ幸いです!

10
philip yoo

後世のために、この問題の解決策は

.minikube

ユーザーのホームディレクトリにあるディレクトリに移動してから、もう一度試してください。しばしば、奇妙なminikubeの問題を修正します。

16
Jonah Benton

minikubeを起動したときに同じ問題が発生しました。

OS

MacOs HighSierra

ミニクベ

minikube version: v0.33.1

kubectlバージョン

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/AMD64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019-01-10T23:28:14Z", GoVersion:"go1.11.4", Compiler:"gc", Platform:"linux/AMD64"}

ソリューション1

kubeadmファイルの許可を変更し、以下のようにminikubeを起動します。その後、正常に動作します。

Sudo chmod 777 /Users/buddhi/.minikube/cache/v1.13.2/kubeadm

一般的に、あなたはする必要があります

Sudo chmod 777 <PATH_TO_THE_KUBEADM_FILE>

ソリューション2

既存のminikubeクラスターが不要になった場合は、これを試すことができます。

minikube stop
minikube delete
minikube start

ここで、既存のminikubeクラスターを停止して削除し、別のクラスターを作成します。

これが誰かを助けるかもしれないことを願っています。

0
Buddhi