minikube错误试图在osx上达到172.17.0.4:8080

问题描述 投票:1回答:2

我正在osx上用minikube在本地做kubernetes教程。在https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/第3步,我收到错误

% curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy/
Error: 'dial tcp 172.17.0.4:8080: getsockopt: connection refused'
Trying to reach: 'http://172.17.0.4:8080/'%

知道为什么这不能在本地工作吗?更简单的请求确实有效

% curl http://localhost:8001/version
{
  "major": "1",
  "minor": "10",
  "gitVersion": "v1.10.0",
  "gitCommit": "fc32d2f3698e36b93322a3465f63a14e9f0eaead",
  "gitTreeState": "clean",
  "buildDate": "2018-03-26T16:44:10Z",
  "goVersion": "go1.9.3",
  "compiler": "gc",
  "platform": "linux/amd64"

信息

$ kubectl get pods                                          
NAME                                   READY     STATUS             RESTARTS   AGE
kubernetes-bootcamp-74f58d6b87-ntn5r   0/1       ImagePullBackOff   0          21h

日志

$ kubectl logs $POD_NAME
Error from server (BadRequest): container "kubernetes-bootcamp" in pod "kubernetes-bootcamp-74f58d6b87-w4zh8" is waiting to start: trying and failing to pull image

那么运行命令是否正在启动节点但是pod崩溃了?为什么?

$ kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080

我可以毫无问题地拉动图像

$ docker pull gcr.io/google-samples/kubernetes-bootcamp:v1
v1: Pulling from google-samples/kubernetes-bootcamp
5c90d4a2d1a8: Pull complete 
ab30c63719b1: Pull complete 
29d0bc1e8c52: Pull complete 
d4fe0dc68927: Pull complete 
dfa9e924f957: Pull complete 
Digest: sha256:0d6b8ee63bb57c5f5b6156f446b3bc3b3c143d233037f3a2f00e279c8fcc64af
Status: Downloaded newer image for gcr.io/google-samples/kubernetes-bootcamp:v1

描述

$ kubectl describe pods                                      
Name:           kubernetes-bootcamp-74f58d6b87-w4zh8
Namespace:      default
Node:           minikube/10.0.2.15
Start Time:     Tue, 24 Jul 2018 15:05:00 -0400
Labels:         pod-template-hash=3091482643
                run=kubernetes-bootcamp
Annotations:    <none>
Status:         Pending
IP:             172.17.0.3
Controlled By:  ReplicaSet/kubernetes-bootcamp-74f58d6b87
Containers:
  kubernetes-bootcamp:
    Container ID:   
    Image:          gci.io/google-samples/kubernetes-bootcamp:v1
    Image ID:       
    Port:           8080/TCP
    State:          Waiting
      Reason:       ImagePullBackOff
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-wp28q (ro)
Conditions:
  Type           Status
  Initialized    True 
  Ready          False 
  PodScheduled   True 
Volumes:
  default-token-wp28q:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-wp28q
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason   Age                 From               Message
  ----     ------   ----                ----               -------
  Normal   BackOff  23m (x281 over 1h)  kubelet, minikube  Back-off pulling image "gci.io/google-samples/kubernetes-bootcamp:v1"
  Warning  Failed   4m (x366 over 1h)   kubelet, minikube  Error: ImagePullBackOff
macos kubernetes minikube
2个回答
2
投票

Minikube是一个工具,可以很容易在本地运行Kubernetes

Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户使用。

回到你的问题。您是否检查过是否提供了足够的资源来运行Minikube环境?

您可以尝试运行minikube并强制分配更多内存:

minikube start --memory 4096

有关进一步分析,请提供有关此安装专用资源和您使用的虚拟机监控程序类型的信息。


1
投票

听起来像一个网络问题。您的VM无法从gcr.io:443中提取图像。

这是你的kubectl describe pods kubernetes-bootcamp-xxx应该是什么样子:

  Type    Reason                 Age   From               Message
  ----    ------                 ----  ----               -------
  Normal  Scheduled              5m    default-scheduler  Successfully assigned kubernetes-bootcamp-5c69669756-xbbmn to minikube
  Normal  SuccessfulMountVolume  5m    kubelet, minikube  MountVolume.SetUp succeeded for volume "default-token-cfq65"
  Normal  Pulling                5m    kubelet, minikube  pulling image "gcr.io/google-samples/kubernetes-bootcamp:v1"
  Normal  Pulled                 5m    kubelet, minikube  Successfully pulled image "gcr.io/google-samples/kubernetes-bootcamp:v1"
  Normal  Created                5m    kubelet, minikube  Created container
  Normal  Started                5m    kubelet, minikube  Started container
  Normal  SuccessfulMountVolume  1m    kubelet, minikube  MountVolume.SetUp succeeded for volume "default-token-cfq65"
  Normal  SandboxChanged         1m    kubelet, minikube  Pod sandbox changed, it will be killed and re-created.
  Normal  Pulled                 1m    kubelet, minikube  Container image "gcr.io/google-samples/kubernetes-bootcamp:v1" already present on machine
  Normal  Created                1m    kubelet, minikube  Created container
  Normal  Started                1m    kubelet, minikube  Started container

从您的主机尝试此操作,如果您的VM或主机出现网络问题,请缩小范围:

$ docker pull gcr.io/google-samples/kubernetes-bootcamp:v1
v1: Pulling from google-samples/kubernetes-bootcamp
5c90d4a2d1a8: Pull complete
ab30c63719b1: Pull complete
29d0bc1e8c52: Pull complete
d4fe0dc68927: Pull complete
dfa9e924f957: Pull complete
Digest: sha256:0d6b8ee63bb57c5f5b6156f446b3bc3b3c143d233037f3a2f00e279c8fcc64af
Status: Downloaded newer image for gcr.io/google-samples/kubernetes-bootcamp:v1
© www.soinside.com 2019 - 2024. All rights reserved.