研究学习minikube在Mac上跑demo遇到几个小坑

研究 minikube 在mac 下运行遇到的几个坑,在坑里爬了一天,终于出来了,这里做个记录

参考 资料:

  1. 首先安装minikube后选择用什么driver启动呢?

    试过n种后 最后用docker作为driver启动成功,欢呼!

    参考 :https://minikube.sigs.k8s.io/docs/drivers/docker/

    启动指令如下:

    1
    2
    3
    4
    5
    6
    7
    minikube start \
    --vm-driver=docker \
    --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
    --docker-env HTTP_PROXY=http://docker.for.mac.localhost:8887 \
    --docker-env HTTPS_PROXY=http://docker.for.mac.localhost:8887 \
    --docker-env no_proxy=$no_proxy,$(minikube ip) \
    --alsologtostderr -v=1

    这里做下小注释:最后一行 –alsologtostderr -v=1 是运行时展示运行日志详情。

  2. 成功启动后,当第二次构建时会非常非常的慢。

    每次都以277.6k/s的速度开始,然后很快就卡住。尝试设置各种代理,最后发现要这样设置:

    1
    2
    3
    4
    docker build \
    --build-arg http_proxy=http://docker.for.mac.localhost:8887 \
    --build-arg https_proxy=http://docker.for.mac.localhost:8887 \
    -t k8s-demo:0.4 .

    之后就会发现构建非常快了。

总结:
  1. 看起来挺简单的,为啥研究了大半天:
    • 最费时间的在这一步:打开页面后发现无法访问!然后我就以为是我前面的步骤哪里写错了,各种重装和重试。
      • 首先浪费很多时间在解决本机mac-docker-desktop app的『kubernetes is starting』问题,各种重装和重启主机。
      • 然后换其实driver,越换越多问题,几乎把所有deriver都试过了。越解决问题越偏
      • 在build docker慢的情况下,无头蝇模式各种搜索

下次如果遇到这种问题应该怎么办呢

  • 首先k8s运行是模式是master管理pod pod是最小的运行单位。所以我应该从最 大的方面检查 k8s运行状态,再检查pod的运行状态。
  • 如果我检查 pod的运行状态就会发现是因为无法拉取k8s-demo:0.1这个镜像导致页面打不开。
  • 就是上面这条导致我做了一天的无用功!
  • 下次一定要查看日志,检查运行状态啊!

另外:

  • 如果查看状态,启动控制面板:minikube dashboard
  • 知乎上的会遇到deployment.yml遇错,可以参考简书上的文件进行测试配置