Minikube安装K8S 以及 Kubernetes常见部署工具介绍及比较

1 Minikube
Minikube是由Kubernetes社区维护的单机版的Kubernetes集群快速部署工具,目前支持MacOS、Linux以及Windows等多种操作系统平台,非常适合在自己的笔记本上作为Kubernetes入门环境或作为开发测试环境使用,当然由于只支持单节点不支持高可用因此不能用于生产部署。

 

由于支持跨平台,但是我们知道MacOS以及Windows是不支持直接运行容器的,因此Minikube默认会启动一个Linux虚拟机,然后在虚拟机上通过kubeadm部署Kubernetes集群,关于kubeadm工具下面将会介绍。当然如果运行的OS本身就是Linux系统,则可以通过指定--vm-driver=none参数直接部署Kubernetes集群在操作系统上,不需要虚拟机,不过需要自己手动部署Docker。使用Minikube部署单节点Kubernetes非常简单,可以参考官方文档,这里不再介绍。

https://github.com/kubernetes/minikube

https://minikube.sigs.k8s.io/docs/start/ 

你可能遇到的问题:https://blog.csdn.net/liuxinshihua/article/details/109333383

# 安装 minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && sudo install minikube-linux-amd64 /usr/local/bin/minikube

# 指定版本
# curl -LO https://storage.googleapis.com/minikube/releases/v1.18.0/minikube-linux-amd64

# 查看版本
minikube version

# 不能使用root 新建个账号吧
useradd zhan
passwd zhan 123456
su zhan

# 启动集群
minikube start

# 获取全局上下文
kubectl config get-contexts

# 显示集群信息
kubectl cluster-info

 

 

2. kind

kind是Kubernetes社区新维护的一个本地测试环境快速部署工具,除了用于本地测试,未来还可能用于做Kubernetes本身的CI集成测试。目前kind工具仍处于开发阶段,可以查看版本1.0的roadmap。

如kind的官方Logo所示,kind把Kubernetes的Node节点运行在Docker容器上,因此需要提前安装Docker。

 

3 kops

kops是生产级别的Kubernetes集群部署、升级和管理命令行工具,它主要用于在公有云平台上通过Terraform自动创建虚拟机作为节点并自动化部署Kubernetes集群,目前官方支持的公有云平台为AWS,GCE、DigitalOcean、OpenStack目前处于beta阶段。

 

国内fitcloud开源的KubeOperator也是一个类似的工具,通过Web UI在VMware、OpenStack和物理机上规划、部署和运营生产级别的Kubernetes集群。
 

 

4 kubespray

Kubespray使用Ansible部署生产级别的Kubernetes集群。对于已经了解Ansible的人们来说,该工具是一个不错的选择,因为无需使用其他工具进行预配和编排。

 

5 kubeadm

kubeadm是和Kubernetes一块发布的集群部署工具,与Kubernetes在同一个代码仓库中,因此可以说kubeadm是Kubernetes最亲的部署工具,目前使用最多的,同时也是社区最为推荐的Kubernetes部署工具。

 

该工具的目标是实现尽可能简单地部署符合最佳实践、满足基本安全合规要求的Kubernetes高可用集群,因此基本不需要太多的配置,就能快速的部署一套生产可用的Kubernetes集群。另外其实很多其他的部署工具也都是基于kubeadm实现的,前面提到的minikube、kind等工具都是基于kubeadm实现的。

参考:https://www.cnblogs.com/year12/p/15319813.html

 

6 部署工具对比

除了以上介绍的部署工具,还有很多其他的部署工具,这些工具中:

minikube和kind主要用于单机测试,一般不用于生产部署。

kops主要用于在IaaS云平台上部署集群,如果在公有云上部署可以尝试使用这个工具。

kubespray需要依赖Ansible自动化工具,如果熟悉Ansible可以尝试使用。

kubeadm是Kubernetes项目自带的部署工具,社区最为推荐并且目前使用最多的工具,该工具基本不依赖外部工具,也基本不需要额外配置就可以快速搭建一个符合最佳实践的Kubernetes平台。


 

posted @ 2021-10-03 20:54  year12  阅读(1429)  评论(0编辑  收藏  举报