代码之家  ›  专栏  ›  技术社区  ›  philip yoo

Minikube未启动,kubectl与服务器的连接被拒绝

  •  12
  • philip yoo  · 技术社区  · 8 年前

    针对类似问题搜索堆栈溢出解决方案并没有解决我的问题,所以希望与大家分享我目前的经历,以获得调试帮助。

    所以一个小序言;几天前,我最初安装了minikube/kubectl。今天我继续学习minikube教程,现在遇到了一些问题。我正在跟踪 minikube getting started guide

    我在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--版本

    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
    

    编辑:

    我不知道发生了什么,但再次检查状态时返回“配置错误”。我运行了建议的命令 $ minikube update-context 现在 $ minikube ip 指向“172.17.0.1”。ping此IP返回请求超时,100%丢包。仔细检查了上下文,我仍然在上下文和集群中使用“minikube”:

    $kubectl配置获取群集

    $kubectl配置获取上下文


    $kubectl获取吊舱

    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: 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
    

    我不确定如何ping https url,但如果我ping ip

    $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配置文件。。。 $猫 ~/.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
    

    为了确保我的钥匙/CRT在那里:

    $ls ~/。米尼库贝

    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
    

    非常感谢您对调试的任何帮助!

    2 回复  |  直到 7 年前
        1
  •  22
  •   Jonah Benton    8 年前

    对于后代来说,解决这个问题的办法是删除

    .minikube
    

    用户主目录中的目录,然后重试。经常修复奇怪的minikube问题。

        2
  •  2
  •   Buddhi    7 年前

    我刚开始的时候也有同样的问题 minikube

    操作系统

    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
    

    在此停止并删除现有 米尼库贝 群集并创建另一个。

    希望这能帮助别人。

    推荐文章