0

我是 minikube 的新手。我按照以下步骤在 oracle linux 7.5(内核 3.10.0-327.28.3.el7.x86_64)上安装 minikube

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

安装后我运行了 minikube

sudo minikube start --vm-driver=none

Minikube 无法启动

    sudo minikube start --vm-driver=none
    Starting local Kubernetes v1.12.4 cluster...
    Starting VM...
    Waiting for SSH to be available...
    Detecting the provisioner...
    Setting Docker configuration on the remote daemon...
    Getting VM IP address...
    Moving files into cluster...
    Setting up certs...
    Connecting to cluster...
    Setting up kubeconfig...
    Stopping extra container runtimes...
    Starting cluster components...
E0105 13:00:41.436961   19330 start.go:343] Error starting cluster:  timed out waiting to elevate kube-system RBAC privileges: Temporary Error: creating clusterrolebinding: Post https://192.168.99.100:8443/apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings?timeout=1m0s: net/http: TLS handshake timeout
Temporary Error: creating clusterrolebinding: Post https://192.168.99.100:8443/apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings?timeout=1m0s: net/http: TLS handshake timeout
Temporary Error: creating clusterrolebinding: Post https://192.168.99.100:8443/apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings?timeout=1m0s: net/http: TLS handshake timeout
Temporary Error: creating clusterrolebinding: Post https://192.168.99.100:8443/apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings?timeout=1m0s: net/http: TLS handshake timeout
Temporary Error: creating clusterrolebinding: Post https://192.168.99.100:8443/apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindings?timeout=1m0s: net/http: TLS handshake timeout

我还检查了日志,发现它卡在某个循环中并重试,但我无法理解

I0105 12:24:24.522907   19330 utils.go:224] > Your Kubernetes master has initialized successfully!
I0105 12:24:24.522916   19330 utils.go:224] > To start using your cluster, you need to run the following as a regular user:
I0105 12:24:24.522919   19330 utils.go:224] >   mkdir -p $HOME/.kube
I0105 12:24:24.522925   19330 utils.go:224] >   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
I0105 12:24:24.522929   19330 utils.go:224] >   sudo chown $(id -u):$(id -g) $HOME/.kube/config
I0105 12:24:24.522934   19330 utils.go:224] > You should now deploy a pod network to the cluster.
I0105 12:24:24.522944   19330 utils.go:224] > Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
I0105 12:24:24.522950   19330 utils.go:224] >   https://kubernetes.io/docs/concepts/cluster-administration/addons/
I0105 12:24:24.522957   19330 utils.go:224] > You can now join any number of machines by running the following on each node
I0105 12:24:24.522959   19330 utils.go:224] > as root:
I0105 12:24:24.522972   19330 utils.go:224] >   kubeadm join localhost:8443 --token 5apexw.uv7nfpirz4on2e33 --discovery-token-ca-cert-hash sha256:6dcf73220b8bc229269bb8c6a350592fe6b0cd068ef8f336163cc5b3a384990e
I0105 12:24:45.792762   19330 utils.go:117] sleeping 500ms
I0105 12:24:46.292883   19330 utils.go:106] retry loop 1
I0105 12:25:07.561761   19330 utils.go:117] sleeping 500ms
I0105 12:25:08.062042   19330 utils.go:106] retry loop 2
I0105 12:25:29.330434   19330 utils.go:117] sleeping 500ms
I0105 12:25:29.830625   19330 utils.go:106] retry loop 3
I0105 12:25:51.096835   19330 utils.go:117] sleeping 500ms
I0105 12:25:51.597099   19330 utils.go:106] retry loop 4
4

1 回答 1

0

我想你是在 AWS 中做到的。删除所有并从头开始重新创建。刚刚复制,一切正常。

移除所有:

minikube delete
rm -rf ~/.minikube

我从乞讨的步骤(在根下):

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

sudo yum install docker-engine

systemctl enable docker.service

systemctl start docker.service

minikube start --vm-driver=none

结果:

========================================= 正在启动本地 Kubernetes v1.12.4 集群...

正在启动虚拟机...

正在获取虚拟机 IP 地址...

将文件移入集群...

设置证书...

正在连接集群...

设置 kubeconfig...

停止额外的容器运行时...

正在启动集群组件...

验证 kubelet 运行状况...

验证 apiserver 运行状况 ...Kubectl 现在已配置为使用集群。

====================

警告:建议不要在个人工作站上运行 NONE 驱动程序“none”驱动程序将以 root 身份运行不安全的 kubernetes apiserver,这可能会使主机容易受到 CSRF 攻击

使用 none 驱动程序时,生成的 kubectl 配置和凭据将是 root 拥有的,并将出现在 root 主目录中。您需要将文件移动到适当的位置,然后设置正确的权限。下面是一个例子:

sudo mv /root/.kube $HOME/.kube # 这将覆盖之前的任何配置 sudo chown -R $USER $HOME/.kube sudo chgrp -R $USER $HOME/.kube

sudo mv /root/.minikube $HOME/.minikube # 这将覆盖之前的任何配置 sudo chown -R $USER $HOME/.minikube sudo chgrp -R $USER $HOME/.minikube

这也可以通过设置环境变量 CHANGE_MINIKUBE_NONE_USER=true 从配置文件加载缓存图像来自动完成。

一切看起来都很棒。请享受minikube!

于 2019-01-04T11:28:32.130 回答