使用microk8s快速搭建k8s

以前都是用minikube的,minikube默认起一个Virtualbox虚拟机(也可以使用kvm驱动来起kvm虚拟机),今天我们介绍一个新的玩意儿。 由Ubuntu维护的microk8s。

如果你是用Windows或者macOS的话,那还使用minikube吧,但是如果你:

  • 已经装了Linux虚拟机
  • 或者你要搭建k8s的机器就是Linux

的情况下,使用microk8s是一个更高效方便的选项。

首先需要安装snapd,如果是Debian/Ubuntu:

$ sudo apt update
$ sudo apt install -y snapd

如果是其它Linux,参考snapd的官方文档进行安装。

然后给snapd设置代理,这样下载东西快一些:

$ sudo mkdir /etc/systemd/system/snapd.service.d
$ sudo su
# cat > /etc/systemd/system/snapd.service.d/override.conf << EOF
[Service]
Environment="http_proxy=http://<HTTP代理地址>"
Environment="https_proxy=http://<HTTP代理地址>"
# systemctl daemon-reload
# systemctl restart snapd

接下来就可以安装 microk8s 了:

$ sudo snap install microk8s --classic
$ sudo usermod -a -G microk8s `whoami`  # 这样才可以执行 microk8s 的命令。执行完这个之后,记得退出一下当前会话。

等待一段时间安装完成之后,我们再为 microk8s 设置代理,因为k8s里很多镜像都是 gcr.io 的,同样需要代理:

$ sudo vim /var/snap/microk8s/current/args/containerd-env

添加代理:

HTTP_PROXY=http://<HTTP代理地址>
HTTPS_PROXY=http://<HTTP代理地址>

接着重启 microk8s:

$ microk8s.stop
$ microk8s.start
$ microk8s.status

最后,把 microk8s.kubectl (microk8s 的命令全都是以microk8s开头的,你可以输入microk8s然后按两下tab进行补全看看) 设置成 kubectl 方便我们操作:

$ sudo snap alias microk8s.kubectl kubectl
$ type kubectl
kubectl is hashed (/snap/bin/kubectl)

大功告成!


更多文章
  • 使用Tornado和rst来写博客
  • Haskell do notation
  • foldl 和 foldr 的变换
  • Haskell TypeClass 笔记
  • 重新捡起你那吃灰的树莓派
  • Tornado 源码阅读
  • JavaScript权威指南笔记
  • Python零碎知识汇总
  • C语言的位操作
  • 分治
  • 关于python的decorator和descriptor
  • 程序设计实践笔记
  • Thinking Recursively
  • Block I/O
  • 如何解读c的声明