K8S集群的另一种打开方式-MicroK8s

之前介绍过在某云上面直接使用现成的K8S服务,

李国宝:反手来个K8S入门到跑路...zhuanlan.zhihu.com图标

有些小伙伴都已经玩起来了.

最近搞了台Intel NUC扔公司当开发机之后, 上面Docker什么的都搞掂了,

然后就想着怎么也把K8S玩起来咯, 毕竟整一套东西都用得习惯了.


于是开始考察当前(20191006之前)的单节点K8S方案啦,

大体现在有以下几种方案.


简单点评:


  • minikube
最早尝试用的是minikube, 整体用下来也没什么问题, 
不过minikube看起来的话还是给本机玩的比较多, 
翻了一圈没发现怎么固化当前的集群状态+开机重启之类的, 
折腾了几天之后放弃.
  • k3s

rancher公司在专门搞k8s集群方案的, 老早之前就用过他们的k8s搭建方案, 虽然也会遇到一些神奇的问题, 算起来总算还是OK的.

k3s - 5 less than k8s
Lightweight Kubernetes. Easy to install, half the memory, all in a binary less than 40mb.
Great for:
Edge
IoT
CI
ARM
Situations where a PhD in k8s clusterology is infeasible

前阵子看到他们这个方案觉得也还行, 然后前天试了一下.

用下来咋说呢? 跑起来之后看了一下和原生k8s不太一样, 懒得于是折腾跑了.

  • microk8s

之前都不知道microk8s的, 纯粹装了Ubuntu之后, ssh过去发现了他们的广告.

哈哈哈, 非常强, 广告直接打到登录页.

ubuntu/microk8sgithub.com图标
Zero-ops Kubernetes for workstations and edge / IoT
A single package of k8s for 42 flavours of Linux.
 Made for developers, and great for edge, IoT and appliances.


于是, 直接撸了.

如何在Ubuntu下安装使用MicroK8scn.ubuntu.com图标


参考资料如上.

其实没撒需要管的, 直接用snap 安装就完事了.

sudo snap install microk8s --classic 
sudo microk8s.start
sudo microk8s.stop

好了, 你的k8s集群搞掂了.



启动之后你可能会发现,

我的Pod咋启动不来,

kube-system里面的容器咋都没起来.


嘿嘿嘿,


你可能是科学上网的受害者.

这时候参考下面的文章处理一下pause镜像的问题就Ok了.

ubuntu 安装 microk8swww.jianshu.com图标


修改pod的sandbox
pod的sandbox 默认是 k8s.gcr.io/pause:3.1,这个镜像是无法获取的。需要将sandbox修改为国内可以获取的镜像。

修改/var/snap/microk8s/current/args/kubelet。 添加--pod-infra-container-image=s7799653/pause:3.1
修改/var/snap/microk8s/current/args/containerd-template.toml的plugins -> plugins.cri -> sandbox_image为s7799653/pause:3.1
重启服务 

microk8s.stop
microk8s.start

https://www.jianshu.com/p/02fd2540fab2


好了, 到现在, 你的microk8s已经正常跑起来了,

去享受你的假装很多个机器的K8S集群吧.

编辑于 2019-10-06

文章被以下专栏收录