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

大功告成!


更多文章
  • Swagger? 不好用
  • Golang/Python最佳实践
  • 读《毛泽东选集》
  • GORM源码阅读与分析
  • 随想
  • Golang中的错误处理
  • Golang 的槽点
  • 一个想当然的bug
  • 读《稀缺》
  • 读《影响力》
  • 读《自控力》
  • Containerd简明教程
  • 软件设计套路之推拉模式
  • 记一次Golang TLS编程踩坑
  • 杂谈