以下整理了一些常用的k8s集群的部署工具,可以选择使用,选择适合自己的就好。

kubeasz

项目致力于提供快速部署高可用k8s集群的工具, 同时也努力成为k8s实践、使用的参考书;基于二进制方式部署和利用ansible-playbook实现自动化;既提供一键安装脚本, 也可以根据安装指南分步执行安装各个组件。

kubekey

青云开源的KubeSphere中k8s集群部署工具。KubeKey 是一个用于部署 Kubernetes 集群的开源轻量级工具。它提供了一种灵活、快速、便捷的 Kubernetes 安装方式
https://github.com/kubesphere/kubekey

kubespray

Kubespray 是 Kubernetes incubator 中的项目,目标是提供 Production Ready Kubernetes 部署方案,该项目基础是通过 Ansible Playbook 来定义系统与 Kubernetes 集群部署的任务,具有以下几个特点:

  • 可以部署在 AWS, GCE, Azure, OpenStack 以及裸机上.
  • 部署 High Available Kubernetes 集群.
  • 可组合性 (Composable),可自行选择 Network Plugin (flannel, calico, canal, weave) 来部署.
  • 支持多种 Linux distributions(CoreOS, Debian Jessie, Ubuntu 16.04, CentOS/RHEL7).

https://github.com/kubernetes-sigs/kubespray
https://kubernetes.io/zh/docs/setup/production-environment/tools/kubespray/


minikube

创建 Kubernetes cluster(单机版)最简单的方法是 minikube
https://kubernetes.io/zh/docs/tutorials/hello-minikube/

kubeadm

https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

Kubeadm

Kubeadm 是一个提供了 kubeadm init 和 kubeadm join 的工具, 作为创建 Kubernetes 集群的 “快捷途径” 的最佳实践。

是 Kubernetes 社区提供的集群构建工具,它负责构建一个最小化可用集群并执行启动等必要的基本步骤,简单来讲,kubeadm 是 Kubernetes 集群全生命周期管理工具,可用于实现集群的部署、升级/降级及卸载等。

kubeadm 专注于在现有基础架构上引导 Kubernetes 集群启动并执行一系列基本的维护任务,其功能未涉及底层基础环境的构建,仅仅是为集群添加最为要紧的核心附件 CoreDNS 和 kube-proxy。余下的其他附件,例如 Kubernetes Dashboard、监控系统和日志系统等必要的附加组件则不在 kubeadm 考虑范围内,这些附加组件由管理员按需自行部署。
kubeadm 通过执行必要的操作来启动和运行最小可用集群。 按照设计,它只关注启动引导,而非配置机器。同样的, 安装各种 “锦上添花” 的扩展,例如 Kubernetes Dashboard、 监控方案、以及特定云平台的扩展,都不在讨论范围内。
相反,我们希望在 kubeadm 之上构建更高级别以及更加合规的工具, 理想情况下,使用 kubeadm 作为所有部署工作的基准将会更加易于创建一致性集群。

Kops

kops 不仅可以帮助您创建、销毁、升级和维护生产级、高可用的 Kubernetes 集群,还可以提供必要的云基础设施。 AWS(亚马逊网络服务)目前得到官方支持,测试版支持 DigitalOcean、GCE 和 OpenStack,测试版支持 Azure 和阿里云。