无法在MacOS上连接Minikube

3
我按照这里的指示安装了minikube https://github.com/kubernetes/minikube/releases,并使用简单的minikube start命令启动。但是下一步操作很简单,只需执行kubectl get pods --all-namespaces,但是却失败了,出现如下错误:无法连接到服务器:拨号tcp 192.168.99.100:8443超时。我错过了什么?

你可能没有设置上下文或集群,以便kubectl指向minikube实例。 - Anirudh Ramanathan
不,我试过了。它已经正确地设置了。 - Arash
你使用的是哪个虚拟机驱动程序?我刚在 OS X 上尝试了使用 VirtualBox 的 Minikube,它运行良好。你能否通过你的浏览器访问 192.168.99.100:8443? - caesarxuchao
没有访问权限。在我的家用电脑上运行得非常好,但是在工作的另一台电脑上无法锁定。 - Arash
4个回答

3

我在使用我的Mac时遇到了同样的问题,基本上我卸载了minikube和kubectl,然后按照以下步骤进行了安装:

  1. 安装Minikube。

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.8.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

  1. 安装Kubectl。

curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.3.0/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

  1. 启动集群,请运行以下命令:

minikube start

  1. Minikube还将创建一个名为“minikube”的上下文,并将其设置为kubectl中的默认值。要稍后切换回此上下文,请运行此命令:

kubectl config use-context minikube

  1. 现在要获取所有pod的列表,请运行以下命令:

kubectl get pods --all-namespaces

现在您应该能够获取Pods的列表。还要确保您的网络中没有阻止连接的防火墙。


3

当我换了工作环境后,我在win7上也遇到了类似的问题。正如你所说,在家里运行良好,但在办公室无法正常工作。很可能是由于防火墙策略引起的,无法通过TLS验证。

如果你只想测试本地minikube集群,建议禁用TLS验证,而不是浪费时间进行故障排除(有时如果你无法关闭防火墙,则无事可做)。

这就是我所做的:

# How to disable minikube TLS verification 

## disable TLS verification 
$ VBoxManage controlvm minikube natpf1 k8s-apiserver,tcp,127.0.0.1,8443,,8443
$ VBoxManage controlvm minikube natpf1 k8s-dashboard,tcp,127.0.0.1,30000,,30000
$ kubectl config set-cluster minikube-vpn --server=https://127.0.0.1:8443 --insecure-skip-tls-verify
$ kubectl config set-context minikube-vpn --cluster=minikube-vpn --user=minikube
$ kubectl config use-context minikube-vpn

## test kubectl
$ kubectl get pods

## enable local docker client
$ VBoxManage controlvm minikube natpf1 k8s-docker,tcp,127.0.0.1,2374,,2376
$ eval $(minikube docker-env) 
$ unset DOCKER_TLS_VERIFY
$ export DOCKER_HOST="tcp://127.0.0.1:2374"
$ alias docker='docker --tls' 

## test local docker client 
$ docker ps 

## test minikube dashboard
curl http://127.0.0.1:30000

此外,我为此制作了一个小脚本,供您参考。点击此处查看。

希望对您有所帮助。


1

你只需要重新启动minikube。有时候当我的电脑长时间关闭后,我也会遇到这个问题。我认为你不需要重新安装任何东西。

  1. 首先确认你在正确的上下文中

    $ kubectl config current-context minikube

  2. 检查Minikube状态(状态应该显示为“Running”,我的下面显示为“Saved”)

    $ minikube status minikube: Saved cluster: kubectl:

  3. 重新启动minikube

    $ minikube start Starting local Kubernetes v1.8.0 cluster... Starting VM... Getting VM IP address... Moving files into cluster... Setting up certs... Connecting to cluster... Setting up kubeconfig... Starting cluster components... Kubectl is now configured to use the cluster.

  4. 确认它正在运行(这是您应该看到的内容)

    $ minikube status minikube: Running cluster: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接