使用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)

大功告成!


更多文章
  • Debian 使用NetworkManager之后networking.service崩溃
  • httprouter源码阅读与分析
  • 《程序员的自我修养-装载、链接与库》笔记
  • Golang sync.Pool源码阅读与分析
  • MySQL操作笔记
  • Go语言解析GBK编码的xml
  • Golang log 源码阅读
  • 使用Go语言实现一个异步任务框架
  • Golang flag源码阅读及自己实现
  • Go使用gdb调试
  • Golang ASM简明教程
  • Golang context源码阅读与分析
  • Golang中的并发控制
  • 善用闭包(closure)让Go代码更优雅
  • Golang的可选参数实践