

在本地运行Kubernetes的3种主流方式
source link: http://dockone.io/article/10153
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者简介 Chris
Tozzi,曾担任记者和Linux管理员。对开源技术、敏捷基础架构以及网络问题兴趣浓厚。目前担任高级内容编辑,并且是Fixate
IO的DevOps分析师。
Kubernetes的主要目的是通过复杂的负载均衡和资源分配功能跨服务器集群托管应用程序。即使某些服务器出现故障,也可以确保应用程序平稳运行。因此在生产部署中,必须为Kubernetes配置多个服务器。
但是,在某些情况下,IT管理员或开发人员可能希望在PC或笔记本电脑上本地运行Kubernetes。因为本地Kubernetes环境使开发人员能够快速测试新的应用程序代码,而不必先将其上传到生产集群。对于初学者来说,本地Kubernetes也是一种很好的方式来学习容器编排系统,而无需承受大规模、多服务器部署的复杂性和成本。
以下是在本地运行Kubernetes的三种方法,所有这些方法都可以在Windows、Linux或macOS的PC或笔记本电脑上运行。
1、 Minikube
Minikube是Kubernetes的一个版本,专为本地部署而设计。Minikube由Kubernetes开源社区开发,使用VM来创建本地单节点Kubernetes安装。
Minikube的安装非常简单,因为Windows、Linux和macOS安装程序会自动执行大部分流程,包括VM设置。但是,请先确保安装了诸如Hyper-V、VirtualBox或KVM等VM平台。
需要先下载最新的Minikube稳定版,然后运行 minikube start
。以下示例是在MacOS上启动Minikube:

使用默认的 HyperKit在MacOS上运行Minikube
在启动期间,kubeconfig文件(默认情况下是~/.kube/config)正在更新,名为minikube的新上下文正在被创建(之后将其设置为默认上下文)。Minkube设置完成之后,使用标准Kubernetes命令行工具kubectl即可与集群进行交互。

正在获取minikube的节点
Minikube的主要局限性在于本地集群只能包含一个节点,因此对于生产级别的多节点Kubernetes集群来说,很难在本地进行模拟测试。
2、 MicroK8s
MicroK8s是由Canonical开发的Kubernetes发行版,其突出特点是部署快速简单,对于本地运行Kubernetes来说,十分方便。
在支持snap packages的任何Linux发行版上,MicroK8s的安装都很简单。Snap packages是由Canonical创建的一个应用程序的打包框架,主要用于Ubuntu(该公司的Linux发行版)。在Windows和macOS上安装MicroK8s也是很简单的,因为这些系统的MicroK8s安装程序会创建基于Ubuntu的VM,然后使用snap packages在其上安装MicroK8s。
与Minikube不同,IT管理员或开发人员可以使用MicroK8s创建多节点集群。如果MicroK8s在Linux上运行,甚至不需要VM。在Windows和macOS上,MicroK8s使用名为Multipass的VM框架为Kubernetes集群创建VM。
Create a new Ubuntu VM
$ multipass launch --name microk8s --mem 4G
Install microk8s in the VM through snap
$ multipass exec microk8s -- sudo snap install microk8s --classic
然后我们在一个本地文件中复制集群配置文件:
$ multipass exec microk8s -- sudo microk8s.config > microk8s.yaml
请注意:MicroK8s带有几个二进制文件,其中包括:
- microk8s.config:提供kubectl配置文件以供外界使用
- microk8s.kubectl:自己的kubectl版本
最后,我们设置KUBECONFIG环境变量来定义由本地kubectl使用的上下文:
$ export KUBECONFIG=$PWD/microk8s.yaml
现在,我们已经准备就绪,可以使用新的MicroK8s单节点集群。
$ kubectl get nodes NAME STATUS ROLES AGE VERSION microk8s Ready <none> 4m48s v1.16.3
MicroK8s的最大缺点可能是很难在不支持snap packages的Linux发行版上安装。
3、 K3s
K3s是由业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs开发的轻量级Kubernetes发行版,通过了CNCF一致性认证。它是为生产环境设计的,主要用于部署在资源受限的边缘计算场景中,例如IoT传感器。
但是,K3s也可以在本地运行以进行Kubernetes测试或开发。为此,请首先使用VMware、VirtualBox或KVM等平台在本地系统上至少创建两个VM。K3s不会为你创建VM,因此你需要手动执行此操作。
然后,在一个VM上安装K3s server,在另一个VM上安装K3s agent。这将在本地设备上创建一个微型Kubernetes集群。详细的安装步骤可以参考以下文章:
与MicroK8s和Minikube相比,K3s需要更多的手动工作来进行设置和配置。但是,由于K3s是为全面生产而设计的,因此在PC或笔记本电脑上,它是与生产级服务器最接近的选项。
Recommend
-
71
提到锁,大家可能都会想到synchronized关键字,使用它的确可以解决一切并发问题,但是对于系统吞吐要求更高的,在这里提供了几个小技巧,帮助大家减小锁粒度,提高系统并发能力。 初级技巧 - 乐观锁
-
41
一个人之所以靠谱,往往是因为3种能力:高效的闭环沟通能力、有坑必填的执行能力、抗打耐摔的职业精神。
-
98
一、前言 最近一段时间,微软的Office产品已经成为滋养新型攻击方法的沃土,从相对比较简单的数据注入方法(如 DDE注入 以及
-
49
什么叫“老板思维”?
-
19
安全是 RESTful web service 的基石,我们主要讨论以下3种主要的方法: Basic authentication Oauth 2.0
-
21
Kubernetes作为最重要的开源容器编排平台,用于自动化部署,扩展和管理容器化应用程序。尽管大多数企业在云环境中运行Kubernetes,但不少企业选择在本地运行Kubernetes集群,因为首先在决定将其用作部署应用程序的主要平台之前,可以快速...
-
31
截至1.12.0版本,Flink有3种集群部署/运行模式:Flink Session ClusterFlink Job ClusterFlink Application Cluster三种运行模式主要区别在3个方面:...
-
16
byzhangxinxu from https://www.zhangxinxu.com/wordpress/?p=9816 本文欢迎分享与聚合,全文转载就不必了,尊重版权,圈子就这么大,若急用可以联系授权。
-
7
IDO 正火,一文了解主流 IDO 平台运行模式 区块链研习社 原创 2021-03-13 03:46 热度 338271 分享 微信扫一扫:分享
-
14
MFC 中集成 Html 的3种方式
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK