【51CTO.com快译】Microk8s是Canonical发布的一款小型、轻量级、完全符合标准的Kubernetes发行版。这款简约的发行版专注于简洁和性能。由于占用资源少,Microk8s可以轻松部署在物联网和边缘设备端。
Canonical已将Microk8s包装成snap,这是该公司的Linux软件包管理器。snap捆绑了应用程序及无需修改即可在许多不同的Linux发行版上运行的依赖项。snap是独立的应用程序,可在沙盒中运行,通过中介访问主机系统。snap已成为通常在基于Debian的发行版中使用的标准.deb软件包之外的替代方案。包装成snap的应用程序可以轻松安装和卸载。
除了最新版本的Ubuntu外,snap还可以部署在各种平台上,包括Linux Mint、Raspberry Pi OS和Arch Linux。
由于Microk8s基于snap,因此可以通过单个命令轻松部署。比如在Ubuntu 18.04上,sudo snap install microk8s --classic可安装功能完备的单节点Kubernetes集群。对于任何运行snapd(snap软件包管理器的守护程序)的平台而言,安装过程都一样:
还可以通过下载并安装snap,在严加保护的离线环境中安装Microk8s。独立的snap文件大小约200MB:
在macOS上运行Microk8s
Microk8s可以通过Multipass(Canonical的虚拟机管理器)安装在macOS和微软Windows上。Multipass利用了底层的虚拟机管理程序,比如Windows中的Hyper-V和macOS中的hyperkit。
Microk8s CLI抽象化了创建虚拟机和安装snap所涉及的命令。Homebrew安装完毕后,以下命令将在macOS上启动单节点Microk8s:
- brew install ubuntu/microk8s/microk8s
如果您想了解涉及的工作流程,尝试以下命令来安装Multipass,然后再安装Microk8s:
- brew cask install multipass
- multipass launch --name microk8s --mem 4G --disk 40G
等到虚拟机创建完毕,然后通过SSH连接到它:
- multipass shell microk8s
继续安装Microk8s:
- sudo snap install microk8s --classic
- sudo iptables -P FORWARD ACCEPT
配置虚拟机,生成kubeconfig文件:
- sudo usermod -a -G microk8s ubuntu
- sudo chown -f -R ubuntu ~/.kube
- su - $USER
- sudo iptables -P FORWARD ACCEPT
- microk8s config > ./kube/config
想从主机访问单个节点集群,不妨拷贝kubeconfig文件:
- multipass transfer microk8s:/home/ubuntu/.kube/config ~/.kube/microk8s-config
- export KUBECONFIG=~/.kube/microk8s-config
您现在可以使用kubectl从macOS访问Microk8s。
使用附件扩展Microk8s功能
为了使部署占用的资源较少,Microk8s附带与控制面板有关的最必要的组件。这意味着默认安装没有存储和网络插件、DNS、Kubernetes仪表板及其他预期的组件。
Canonical为Microk8s添加了许多组件,作为可选的附件。可以通过microk8s enable/disable命令来启用和禁用它们。
比如说,只需一个命令即可添加Kubernetes仪表板。如果您在Multipass虚拟机中运行Microk8s,从外壳运行以下命令:
- microk8s enable dashboard
获得与服务帐户有关的默认令牌以访问仪表板:
- token=$(kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
- kubectl -n kube-system describe secret $token
使用以下命令从主机访问仪表板:
- kubectl port-forward -n kube-system service/kubernetes-dashboard 9443:443
配置和部署高可用性的Microk8s集群
最近,Canonical为Microk8s增加了高可用性,使其可以随时部署到生产环境。至少部署三个节点后,Microk8s会自动扩展控制平面,以便在多个节点上运行API服务。
在典型的高可用性(HA)部署场景中,etcd用作键/值数据库以维护集群状态。 Microk8s使用Dqlite分布式版本和SQLite的高可用性版本。
HA MicroK8只需要集群中的三个或更多节点,此时Dqlite会自动变成高可用性。如果群集有三个以上的节点,那么额外节点将是数据存储系统的备用节点,如果数据存储系统丢失了其中一个节点,会自动升级。备用节点自动升级到Dqlite的仲裁集群使MicroK8s HA具有自治性,即使没有采取任何管理措施,也能确保仲裁得到维护。
原文标题:Exploring Microk8s, the Lightweight Kubernetes Distribution from Canonical,作者:Janakiram MSV
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】
先购买 域名 还是先实名认证?先购买域名,再进行实名认证。这里说的购买域名,...
根据《中文互联网数据咨询网》发布的数据,2019年,中小企业倒闭超过一百万家,2...
移动边缘计算(MEC)可以使用无线访问网络为电信用户提供周围的IT服务和云计算功能...
域名 没法实名怎么办?域名如果没法实名,可以考虑两个方面的原因。其一,是该域...
This notebook classifies movie reviews as positive or negative using the te...
站群推广就是建立多个网站,将多个和公司相关产品的关键字优化到搜索引擎首页上...
浙江富得利木业有限公司创始于1994年 总部位于浙江绍兴。早在1999年 富得利地板...
无服务器 Serverless 在改变开发者编程范式的同时 也在颠覆IT从业者对计算基石的...
来源 | 阿里巴巴云原生公众号 ? 5 月 29 日,“2021 阿里云开发者大会”于北京国...
创立已有22年的腾讯,究竟积累了多少自研的技术? 从数据中心和网络建设,到数据...