本文学习k8s参考内容:http://docs.kubernetes.org.cn/126.html,学习过程中遇到一些坑,记录如下:
----------------------------------------------------------------------------------
  k8s目前最好是用linux进行部署,windows跟mac现在虽然有k8s的版本但用起来会有一些问题。最近在自己本地mbp上部署k8s的时候绕了一些弯路,特此记录。
mac上比较方便的一点是docker for mac上集成了k8s,所以直接利用docker for mac安装k8s即可,安装完成后启动,会自动启动一个只有1个节点的k8s集群。好处是不用配了,可以直接使用kubectl命令进行相关操作,坏处是无法自己配多节点集群(mac上的k8s功能是不全的)。
  另一种使用方式是minikube,这个借助于virtualBox或者VMware可以使用多节点伪集群,遗憾的是,经过测试发现minikube在mac上存在bug。
minikube介绍:
  minikube的github官方介绍:
  Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day.(Minikube是一种工具,可以在本地轻松运行Kubernetes。Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户使用。)
  启动minikube,从控制台也可以看到,启动的时候下载了一个ISO镜像文件,具体运行使用的vm技术由--vm-driver指定。
minikube试过的坑:
  中文官方教程的minikube是在osx系统进行的,但实际按照教程,并不能完整走完整个流程。
第一个错误在minikube启动的时候,所给的命令是minikube start --vm-driver=xhyve,bhyve是FreeBSD下的虚拟技术,xhyve是在基于bhyve的osx版本,体积非常小,只有230k,可以当做virtualBox,VMware Function之外的虚拟机使用。这个命令是设置k8s集群使用虚拟技术为xhybe,它的值包括virtualbox、xhyve、vmwarefusion,默认是virtualbox。该命令最终不能正常
  1、网络不通
  官方原版minikube,本地蓝灯代理,会报错:minikube start --vm-driver=xhyve --docker-env HTTP_PROXY=http://代理ip:端口号 --docker-env HTTPS_PROXY=http://代理ip:端口号

  有一个warning,大意是说xhyve已经被废弃了,后续版本将删除,建议使用hyperkit。报错内容是下载kubelet失败,莫非我代理设置的不对?
  2、国内版本,按照社区的介绍进行启动,会报错
  采用阿里云版本:启动minikube,会停留在starting cluster components......很长时间,最终报异常:

  这个看上去是k8s的代理不能正常启动导致的。没找到解决办法。
  3、正常启动的,无法获取对外网络ip地址
  既然上边有warning提示,那就按照提示用hyperkit吧。安装docker-machine-driver-hyperkit后,minikube start --vm-driver=hyperkit启动,可以启动,但对外暴露的ip是无法获取的:

  minikube start --bootstrapper localkube也是可以启动minikube的,只是要安装virtualBox,最后对外暴露端口问题一样无法解决。
  如果不在外部访问应用,这个倒是也没啥影响,而且教程中所给示例也是这样的。有文章说显示为pending的时候,等一分钟就好,试过了等了好几分钟,仍然这样。
使用docker自带的k8s:
  为啥使用minikube呢,因为当时选的学习教程用的minikube,由于是官方教程,没有丝毫怀疑,结果撞的头破血流。使用minikube不就是为了一个集群环境么,docker for mac已经自带了k8s,而且启动自带一个单节点集群,直接使用岂不美哉?
  因为教程中先把执行环境设置为了minikube,需要先把环境切换为k8s,docker for mac 上右键即可:

  可以看到地址正常了:

  资源删除:
  kubectl delete service hello-node
  kubectl delete deployment hello-node

 
 
 
 

mac上k8s学习踩坑的更多相关文章

  1. 使用Windows下的git工具往github上传代码 踩坑记录

    使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...

  2. iOS自动化打包上传的踩坑记

    http://www.cocoachina.com/ios/20160624/16811.html 很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDe ...

  3. react学习 | 踩坑指南

    react样式模块化的"omit -loader"坑 众所周知 react样式的模块化(css modules) 是自己模块中写自己的css,与其他模块互补影响,解决了命名冲突和全 ...

  4. appium mac 下 安装及踩坑

    Appium Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver的json ...

  5. 在React中使用WebUploader实现大文件分片上传的踩坑日记!

    前段时间公司项目有个大文件分片上传的需求,项目是用React写的,大文件分片上传这个功能使用了WebUploader这个组件. 具体交互是: 1. 点击上传文件button后出现弹窗,弹窗内有选择文件 ...

  6. SpringBoot + SpringCloud学习踩坑实记

     踩的坑: 1).springcloud框架中,依赖一直报错,很可能是没有添加springcloud的依赖,或者是依赖的版本号过低.并且springboot也有一个父依赖. 2.springcloud ...

  7. 关于在Mac上安装模拟器的坑比~~~~~

    没有人比我更坑了~~就安装一个简单的模拟器花了我一天时间~~我去~~~ 但是最后还是安装好了~~真的是活久见~~好吧~~ 废话不多说先上安装好的图~炫耀一下~ ~ ok!要实现这样的效果~你需要下载虚 ...

  8. ROS机器人系统学习——踩坑之路

    推荐学习教程:深蓝学院 机器人操作系统ROS理论与实践学习 在学习到第2讲ROS基础的分布式通信时,一直卡在这里,主机开启小海龟后,从机虽然可以通过 rostopic list 列出当前的所有topi ...

  9. Mac上的学习神器:Marginnote

    https://marginnote.com/?lang=zh-hans 技巧1:合并 多选编辑 - 按顺序选择多个块 - 左下角菜单 - 合并 技巧2:管理顺序 双击图片并且按住不放,即可拖拽顺序 ...

随机推荐

  1. Android Tablayout属性介绍

    1.添加依赖 compile 'com.android.support:design:26.0.0-alpha1' 2.属性 改变选中字体的颜色app:tabSelectedTextColor=&qu ...

  2. MVC - Routing - 网址路由

    1. Routing  : 路由 主要是比对通过浏览器传来的http要求与响应适当的网址给浏览器. @Html.ActionLink("关于","About", ...

  3. Java集合类总结 (二)

    LinkedList类 由于基于数组的链表有一个大的缺点,那就是从链表中间移除一个元素时需要将此元素后面的所有元素向前移动,会产生大量的开销,同样的在链表中间插入一个新元素也会有大量开销.如下图: L ...

  4. angular ng-content

    <p> child works! </p> <ng-content></ng-content> <app-child> 父组件投影 < ...

  5. Android SDK下载和更新慢或失败的解决办法

    下载完Android SDK后发现无法更新,原因是我们被墙了,所以需要使用代理来更新,或者直接把dl-ssl.google.com解析的IP改一下就可以了 用文本编辑器打开文件C:\Windows\S ...

  6. Daily translation 3th

    Source url:http://www.nzherald.co.nz/education/news/article.cfm?c_id=35&objectid=11149719 //plac ...

  7. R:魔兽世界终极版

    描述 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部之间是依次排列的若干城市,城市从西向东依次编号为1,2,3 .... N ( N <= 20 ).红魔军的司令部算作编号为0 ...

  8. 老男孩Day15作业:商城列表页面(静态)

    一. 一.作业需求: 1.完成商城列表静态页面的抒写 二.博客地址:https://www.cnblogs.com/catepython/p/9205636.html 三.运行环境 操作系统:Win1 ...

  9. IPython&Jupyter私房手册

    Jupyter是以Ipython为基础,可以极大的方便开发,对于如何使用,网上的资料都不太全.因此决定自己编写一个私房手册方便随时查找. 1. 安装和配置 安装不多说,不想折腾直接安装anaconda ...

  10. angluarJs与后台交互小案例

    .myService.html: <!DOCTYPE HTML> <html ng-app="app"> <head> <title> ...