在单节点的Kubernetes
搭建过程中,一般会采用MiniKube
,可是MiniKube
会要求宿主机安装虚拟机,在其上完成部署,这个过程会比较麻烦,有没有一种方式,能够提供一种不依赖虚拟机,但是能和宿主机相对隔离的方案来搭建单节点的Kubernetes
呢?答案是有的,Canonical 提供了MicroK8s
,可以用它来完成不依赖虚拟机的搭建,同时它提供了非常好的安装体验。
MicroK8s
的描述是 “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.” ,可以看到这是一个目标在单节点的Kubernetes
部署方案,同时它也通过了Kubernetes
认证。
MicroK8s
也可以通过add node
组成多节点模式,但是它主要是用来完成单节点原型搭建,而非生产环境的构建。网上也有一些安装教程,但大部分都是摘抄,很多都跑不通。
工具安装
工具安装的环境是Ubuntu 18.04 LTS
,接下来开始安装MicorK8s
。
先安装MicroK8s
本体。
// 安装`MicroK8s`
sudo snap install microk8s --classic
// 查看一下版本,当前1.18已经发布,目前笔者使用的是1.17.3
snap info microk8s
// 用户组
sudo usermod -a -G microk8s $USER
// 防火墙设置
sudo ufw allow in on cni0 && sudo ufw allow out on cni0
sudo ufw default allow routed
// 启动相关的add-on
microk8s.enable dashboard dns
运行完这些命令,如果在国内,不出意外,是无法启动的,如果运行成功是如下输出:
$ microk8s.status
microk8s is running
addons:
cilium: disabled
dashboard: enabled
dns: enabled
fluentd: disabled
gpu: disabled
helm3: disabled
helm: disabled
ingress: disabled
istio: disabled
jaeger: disabled
juju: disabled
knative: disabled
kubeflow: disabled
linkerd: disabled
metallb: disabled
metrics-server: disabled
prometheus: