microk8s
Kubernetes正在Swift成为基于容器的应用程序的事实平台。 Kubernetes自动执行容器化应用程序的部署和扩展,并简化了维护任务,例如更新和升级。 自2014年Google开源以来,这项技术一直是令人难以置信的成功故事。
结果,全世界的开发人员,系统管理员和技术爱好者不仅对学习Kubernetes感兴趣,而且Kubernetes越来越成为他们工作的一部分。
但是,尽管有巨大的好处,Kubernetes是一个复杂的容器编排工具,它很容易使初学者感到沮丧和不知所措。 任何使用过Kubernetes或曾经尝试过使用Kubernetes的人都非常熟悉如何设置和运行Kubernetes部署的痛苦。
输入MicroK8s ,这是Canonical的功能强大的企业级Kubernetes发行版 ,我们认为它是最小,最快的多节点Kubernetes。 MicroK8s(发音为“ micro-kates”)具有较小的磁盘和内存占用空间,同时提供开箱即用的生产级附加组件,包括Istio,Knative,Grafana,Cilium等。
无论是在生产环境中运行还是仅对探索Kubernetes感兴趣,MicroK8都是一个受欢迎的解决方案。
MicroK8s并非市场上唯一承诺降低Kubernetes集群的复杂性和部署时间的技术,但其他技术则极简且缺乏关键的可扩展性和重要的附加组件。
MicroK8作为单个快照提供,并安装在支持快照的42个Linux发行版中的任何一个上。 快照是适用于桌面,云和物联网的应用程序包,易于安装和保护。
通过在笔记本电脑或其他工作站上进行单命令安装,MicroK8的安装不到一分钟。 MicroK8可以作为小型廉价的Kubernetes在虚拟机上使用,作为CI / CD管道的一部分,也可以在Linux机器上开发IoT或边缘计算应用程序以及机器学习或AI工作负载。
让我们仔细看看MicroK8的工作原理,它的优点和主要功能。
MicroK8s的优势
当您将其煮沸时,有五个主要品质定义了使用MicroK8的优势:它轻巧,简单,安全,最新且全面。
MicroK8轻巧 :团队成员希望最小的Kubernetes用于笔记本电脑和工作站的开发。 MicroK8s提供了轻量级的独立Kubernetes,在Ubuntu上运行时,它与Azure AKS,Amazon EKS和Google GKE兼容。
MicroK8很简单 :MicroK8s通过单软件包安装来最大程度地减少管理和操作,该软件包没有活动部件(开箱即用),并且包括所有依赖项。
MicroK8是安全的 :对于所有安全问题,更新始终可用,并且可以立即应用或安排更新以适合企业的维护周期。 此外,MicroK8具有最新的隔离功能,可在工作站上安全运行。 通过将Kubernetes,Docker.io,iptables和CNI的所有二进制文件打包在单个snap软件包中,可以实现这种隔离。
MicroK8是最新的 :MicroK8s跟踪上游Kubernetes,并在上游Kubernetes发行的同一天发布beta,发行候选版本和最终版本。 您可以跟踪最新的Kubernetes或坚持使用从1.10开始的任何Kubernetes版本。 当出现新的主要Kubernetes版本时,您可以自动升级或使用单个命令进行升级。
MicroK8是全面的 :MicroK8包括精选的清单,用于常见的Kubernetes功能和服务。 MicroK8带有Docker注册表,使用户可以在笔记本电脑上制作,推送和部署容器。
MicroK8s附加组件
正如我之前提到的,MicroK8附带了强大的附加组件,这些附加组件的设置简单,直接,仅需几个命令。 Cilium和Helm是使MicroK8更易于管理和更可靠的两个关键附加组件。 新增的Kubeflow有助于部署机器学习工作流程。
Cilium 。 Cilium是开源软件,可提供和保护使用Linux容器管理平台部署的应用程序服务之间的网络和API连接。 在MicroK8s中运行Cilium可以实现功能强大的Pod到Pod的连接管理以及Pod之间的服务负载平衡。 (pod是一个或多个共享存储和网络资源的容器的集合。pod包含有关如何在Kubernetes中运行容器的定义。)
掌舵 。 Helm是Kubernetes的软件包经理。 CNCC与Microsoft,Google,Bitnami和Helm贡献者社区合作维护了Helm。它通过提供管理,更新,共享和回滚Kubernetes应用程序的功能,使MicroK8s环境的管理更加轻松。
Kubeflow 。 Kubeflow现在可作为MicroK8的附加组件使用,以改善人工智能和机器学习功能。 开发人员可以在短短几分钟内建立,开发,测试和扩展机器学习工作流程,以满足其生产需求。 MicroK8具备Kubeflow和GPU加速功能。
其他加载项列表包括:
CoreDNS :CoreDNS是一种用Go语言编写的DNS服务器,由于其灵活性,可以在多种环境中使用。
仪表板 :您可以部署Kubernetes仪表板以及Grafana和InfluxDB 。
存储 :用户可以创建一个默认存储类,该类使用指向主机目录的hostpath-provisioner。
入口 :创建入口控制器。
GPU :您可以通过启用Nvidia运行时和Nvidia设备插件守护程序来将GPU暴露给MicroK8。
Istio :您可以部署核心Istio服务,并使用microk8s.istioctl命令来管理部署。
注册表 :部署一个私有映像注册表,并将其公开在localhost:32000上。
还有更多附加组件,包括Fluentd,Prometheus Grafana和用于监视的指标。 Jaeger,用于以最简单的配置部署Jaeger Operator v1.8.2; Linkerd用于部署Linkerd2服务网格; RBAC用于基于角色的访问控制授权模式,而Knative用于无服务器计算。
有了这些附加组件,MicroK8变得越来越强大,可以快速,简单地运行设备齐全的Kubernetes部署。
用于边缘计算的MicroK8
同时,除附加组件外的另一项新功能是在Ubuntu 19.10中对MicroK8进行了严格的限制,从而增强了边缘计算功能。 严格的限制确保了完全隔离和紧密安全的生产级Kubernetes环境,所有这些都占用很小的空间,非常适合边缘网关。 结果,现在可以通过单个命令将MicroK8的附加组件安全地部署在边缘。
MicroK8s入门
要运行MicroK8,您需要一台具有Linux版本的计算机,该计算机支持snaps 。 如果你有一台Windows PC或Mac,你可以用多道来获得运行MicroK8s。
要安装,请使用命令行:
sudo snap install microk8s -- classic
在60秒内,该发行版将启动并运行。
要检查MicroK8的状态,请使用以下命令:
sudo microk8s.status
这将产生一个如下所示的屏幕:
在不到一分钟的时间内就完成了Kubernetes的部署,可以以类似的,最少的命令轻松地添加附件。
毫无疑问,Kubernetes已成为主要的科技行业流行语。 MicroK8是开发人员和其他想要深入研究Kubernetes但又因复杂性而推迟的人的答案。 MicroK8的出现是在不牺牲质量的情况下降低了开发和部署的复杂性并降低了成本。
Ammar Naqvi是Ubuntu背后的Canonical公司MicroK8的产品经理。
-
新技术论坛提供了一个以前所未有的深度和广度探索和讨论新兴企业技术的场所。 选择是主观的,是基于我们选择的技术,我们认为这些技术对InfoWorld读者来说是重要的,也是他们最感兴趣的。 InfoWorld不接受发布的营销担保,并保留编辑所有贡献内容的权利。 将所有查询发送到 newtechforum@infoworld.com 。
翻译自: https://www.infoworld.com/article/3447621/hello-microk8s-a-simpler-kubernetes.html
microk8s