【.com快译】MicronicsMicrok8s是来自Canonical的小型、轻量级、完全符合标准的Kubernetes发行版。这个极简主义发行版专注于简单性和性能。由于占用空间小,Microk8s可以轻松部署在物联网和边缘设备上。Canonical已将Microk8s打包为公司的Linux包管理器snap。Snaps捆绑应用程序和依赖项,无需修改即可在许多不同的Linux发行版上运行。Snaps是在沙箱中运行的独立应用程序,通过中介访问主机系统。snap已经成为基于Debian的发行版中通常使用的标准.deb包的替代品。打包为snap的应用程序可以轻松安装和卸载。除了最新版本的Ubuntu之外,snap还可以部署在多种平台上,包括LinuxMint、RaspberryPiOS和ArchLinux。由于Microk8s基于snap,因此可以使用单个命令轻松部署。例如,在Ubuntu18.04上,sudosnapinstallmicrok8s--classic可以安装一个功能齐全的单节点Kubernetes集群。对于运行snapd(snap包管理器的守护进程)的任何平台,安装过程都是相同的:您还可以通过下载并安装snap,在戒备森严的离线环境中安装Microk8s。单机快照文件大小约为200MB:在macOS上运行Microk8sMicrok8s可以通过Multipass(Canonical的虚拟机管理器)安装在macOS和MicrosoftWindows上。Multipass利用底层管理程序,例如Windows中的Hyper-V和macOS中的hyperkit。Microk8sCLI抽象了创建虚拟机和安装快照所涉及的命令。安装Homebrew后,以下命令将在macOS上启动单节点Microk8s:brewinstallubuntu/microk8s/microk8s如果您想查看所涉及的工作流程,请在安装Microk8s之前尝试使用以下命令安装Multipass:brewcaskinstallmultipassmultipasslaunch--namemicrok8s--mem4G--disk40G等虚拟机创建完成,然后通过SSH连接:multipassshellmicrok8s继续安装Microk8s:sudosnapinstallmicrok8s--classicssudoiptables-PFORWARDACCEPT配置虚拟机,生成kubeconfig文件:sudousermod-a-Gmicrok8subuntusudochown-f-Rubuntu~/.kubesu-$USERsudoiptables-PFORWARDACCEPTmicrok8sconfig>./kube/config如果想从主机访问单节点集群,不妨复制kubeconfig文件:multipasstransfermicrok8s:/home/ubuntu/.kube/config~/。kube/microk8s-configexportKUBECONFIG=~/.kube/microk8s-configforyou现在可以使用kubectl从macOS访问Microk8s。使用附加组件扩展Microk8s功能为了减少部署的资源密集程度,Microk8s附带了与控制面板相关的最必要的组件。这意味着默认安装没有存储和网络插件、DNS、Kubernetes仪表板和其他预期组件。Canonical已将许多组件添加到Microk8s作为可选附件。可以使用microk8s启用/禁用命令启用和禁用它们。例如,只需一个命令即可添加Kubernetes仪表板。如果您在MultipassVM中运行Microk8s,请从shell运行以下命令:microk8sabledashboard获取与服务帐户关联的默认令牌以访问仪表板:token=$(kubectl-nkube-systemgetsecret|grepdefault-token|cut-d""-f1)kubectl-nkube-systemdescribesecret$token使用以下命令从主机访问仪表板:kubectlport-forward-nkube-systemservice/kubernetes-dashboard9443:443配置和部署高可用的Microk8s集群最近,Canonical为Microk8s添加了高可用性,使其准备好部署到生产环境。至少部署三个节点后,Microk8s会自动扩展控制平面,以在多个节点上运行API服务。在典型的高可用性(HA)部署场景中,etcd用作键/值数据库来维护集群状态。Microk8s使用分布式版本的Dqlite和高可用性版本的SQLite。HAMicroK8只需要集群中三个或更多节点,此时Dqlite会自动成为高可用。如果集群超过三个节点,多出的节点将作为数据存储系统的备份节点,当数据存储系统丢失其中一个节点时,将自动升级。备用节点自动升级到Dqlite的仲裁集群使MicroK8sHA自治,确保即使没有采取任何管理操作也能维持仲裁。原标题:ExploringMicrok8s,theLightweightKubernetesDistributionfromCanonical,作者:JanakiramMSV
