Kubernetes作为最重要的开源容器编排平台,用于自动化部署,扩展和管理容器化应用程序。尽管大多数企业在云环境中运行Kubernetes,但不少企业选择在本地运行Kubernetes集群,因为首先在决定将其用作部署应用程序的主要平台之前,可以快速试用Kubernetes;其次,可以将其设置为本地开发环境,然后再将任何内容推送到公有云,从而实现开发环境与生产环境之间的分离。
无论遇到什么情况,建议将本地Kubernetes设置为开发环境,因为这种设置可以创建安全,灵活的应用程序部署过程。可以尝试使用多种平台在本地运行Kubernetes,它们都是开源的,并且在Apache 2.0许可下可用。
- Minikube是本地Kubernetes应用程序开发的最佳工具,并支持所有合适的Kubernetes功能。
- kind使用Docker容器“节点”运行本地Kubernetes集群。
- CodeReady Container (CRC)管理为测试和开发目的而优化的本地OpenShift 4.x集群。
- Minishift通过在虚拟机内运行单节点OpenShift集群来帮助企业本地运行OpenShift 3.x集群。
Minikube
Minikube是在本地环境上运行Kubernetes环境时,最出名和最受欢迎的选择。无论使用哪种操作系统,Minikube的文档都为用户提供了简单的安装指南。通常,安装Minikube就像运行两个命令一样简单。
Minikube具有以下功能,可在Linux,macOS或Windows上快速设置本地Kubernetes集群;支持最新的Kubernetes版本(+6先前的次要版本);可部署虚拟机,容器或裸机;多个容器运行时(CRI-O,containerd,Docker)支持;Docker API端点,用于快速推送镜像;LoadBalancer,文件系统挂载,FeatureGates和其他高级功能;轻松安装Kubernetes应用程序的附加组件。
由于Minikube是一个开源项目,因此用户可以为其源代码做贡献。
kind
kind被开发人员描述为“一种使用Docker容器“nodes”来运行本地Kubernetes集群的工具。”它主要用于测试Kubernetes,但也可用于本地开发或持续集成。
kind支持多节点(包括高可用性)集群;从源代码构建Kubernetes版本;Make、Bash、Docker或Bazel,以及预发布的版本;支持Linux,macOS和Windows;
此外,kind是经过云原生计算基金会(CNCF)认证的一致Kubernetes安装程序。因为它是开源的,所以可以在其GitHub存储库中找到kind的源代码。
CodeReady Container (CRC)
如果要在本地尝试最新版本的OpenShift,请使用红帽的CodeReady Container (CRC)。CRC为本地环境带来了一个最小的OpenShift 4.x集群,该集群为开发和测试目的提供了一个最小的环境。CRC主要针对开发人员的桌面上使用。
可以在GitHub上找到CodeReady Container的源代码,也可以在Apache 2.0许可下获得。
Minishift
Minishift帮助你在虚拟机中使用单节点OpenShift集群本地运行带有OKD的OpenShift版本。可以使用它在本地环境尝试OpenShift或为云进行开发。
与以上其他工具一样,Minishift是开源的,可以在GitHub上访问其源代码。