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

大功告成!


更多文章
  • Redis通信协议阅读
  • 2016年就要结束了,2017年就要开始啦!
  • unittest 源代码阅读
  • APUEv3 - 重读笔记
  • Mock源码阅读与分析
  • Thinking in Python
  • 我的代码进CPython标准库啦
  • Python零碎小知识
  • Python和单元测试
  • 工作一年的总结
  • Python 的继承
  • MongoDB 的一些坑
  • Python的yield关键字有什么作用?
  • 借助coroutine用同步的语法写异步
  • Python3函数参数中的星号