Kubernetes可以运行在多种平台,从笔记本到云服务商的虚拟机,再到机架上的裸机服务器。要创建一个Kubernetes集群,根据不同的场景需要做的也不尽相同,可能是运行一条命令,也可能是配置自己定制集群。根据自己的需要选择合适的解决方案。

选择正确解决方案

如果你只想试一试Kubernetes,我们推荐基于Docker的本地方案。

基于Docker的本地方案是众多能够完成快速搭建的本地集群方案中的一种,但是局限于单台机器。

当你准备好扩展到多台机器和高可用时,托管解决方案是最容易搭建和维护的。

全套云端方案只需要少数几个命令就可以在更多的云服务提供商搭建Kubernetes。

定制方案需要花费更多的精力,但是覆盖了从零开始搭建Kubernetes集群的通用建议到分步骤的细节指引。

本地服务器方案

本地服务器是在一台物理机上创建拥有一个或者多个Kubernetes节点的单机集群。创建过程是全自动的,且不需要任何云服务商的账户。但是这种单机集群的规模和可用性都受限于单台机器:

本地服务器方案有:

  • 本地Docker(上手建议)
  • Vagrant(任何支撑Vagrant的平台:Linux、MacOS、或者Windows)
  • 无虚拟机本地集群(Linux)

托管方案

Google Container Engine提供创建好的Kubernetes集群

全套云端方案

以下方案让你可以通过几个命令就在很多IaaS云服务中创建Kubernetes集群,并且有很活跃的社区支持。

  • GCE
  • AWS
  • Azure

定制方案

Kubernetes可以在云服务商提供的裸机环境运行,并且支持很多基础操作系统。

如果你在如下的指南中找到符合你需要的,可直接使用。某些指南可能有些过时,但是比起从零开始还有不少的参考价值。如果你确实以为特殊原因或向了解底层原理,想要从零开始搭建,可以试试参考从零开始指南。

以下是上文没有列出的云服务商或云操作系统的支持方案。

  • AWS+cores
  • GCE+CoreOS
  • AWS+Ubuntu
  • Joyent+Ubuntu
  • Rackspace+CoreOS

私有虚拟机

  • Vagrant(采用CoreOS和flannel)
  • CloudStack(采用Ansible,CoreOS和flannel)
  • Vmware(采用Debian)
  • juju.md(采用juju,Ubuntu和flannel)
  • Vmware(采用C哦热OS和flannel)
  • libvirt-coreos.md(采用CoreOS)
  • OVirt
  • libvirt(采用Fedora+flannel)
  • KVM(采用Fedora和flannel)

裸机

集成

Table of Solution

以下用表格形式列出上面的所有方案。

IaaS Provider Config.Mgmt OS Networking Docs Conforms  
GKE     GCE docs [✓][3]  
Vagrant Saltstack Fedora flannel docs [✓][2]  
GCE Saltstack Debian GCE docs [✓][1]  
Azure CoreOS CoreOS Weave docs    
Docker Single Node custom N/A local docs    
Docker Multi Node Flannel N/A local docs    
Bare-metal Ansible Fedora flannel docs    
Digital Ocean custom Fedora Calico docs    
Bare-metal custom Fedora none docs    
Bare-metal custom Fedora flannel docs    
libvirt custom Fedora flannel docs    
KVM custom Fedora flannel docs    
             
Mesos/Docker custom Ubuntu Docker docs    
Mesos/GCE       docs    
AWS CoreOS CoreOS flannel docs    
GCE CoreOS CoreOS flannel docs    
Vagrant CoreOS CoreOS flannel docs    
Bare-metal (Offline) CoreOS CoreOS flannel docs    
Bare-metal CoreOS CoreOS Calico docs    
CloudStack Ansible CoreOS flannel docs    
Vmware   Debian OVS docs    
Bare-metal custom CentOS none docs    
AWS Juju Ubuntu flannel docs    
OpenStack/HPCloud Juju Ubuntu flannel docs    
Joyent Juju Ubuntu flannel docs    
AWS Saltstack Ubuntu OVS docs    
Azure Saltstack Ubuntu OpenVPN docs    
Bare-metal custom Ubuntu Calico docs    
Bare-metal custom Ubuntu flannel docs    
Local     none docs    
libvirt/KVM CoreOS CoreOS libvirt/KVM docs    
oVirt       docs    
Rackspace CoreOS CoreOS flannel docs    
any any any any docs    

注意:以上表格按照支持级别和测试及使用的版本进行排序。

表格中列说明:

  • IaaS Provider 是指提供Kubernetes运行环境的虚拟机或物理机(节点)资源的提供商。
  • OS 是指节点上运行的基础操作系统。
  • Config. Mgmt 是指节点上安装和管理Kubernetes软件的的配置管理系统。
  • Networking 是指实现网络模型的软件。 none 表示只支持一个节点,或支持单物理节点 上的虚拟机节点。
  • Conformance 表示使用该种配置创建的集群是否通过了项目一致性测试,支持

Kubernetes v1.0.0的API和基本特性。

  • Support Levels(支持级别)
  • Project:Kubernetes贡献者们经常使用该配置,所以通常最新的版本可使用。
  • Commercial:某些厂商负责在自己的平台支持。
  • Community:在社区中有活跃支持,但可能最新版本不适用。
  • Inactive: 对于初次使用Kubernetes的用户不推荐,并且有可能在将来被移除。
  • Notes 说明,比如适用的Kubernetes版本

最新文章

  1. CSS display:inline-block
  2. poi导出excel
  3. HQL查询——关联和连接
  4. MyEclipse 2013优化配置【转】
  5. 【php常用】常用函数啥的
  6. java抽象类和接口区别
  7. SQL数据库基础(一)
  8. Spring-JDBC通用Dao
  9. Hive技术文档
  10. 哈希集合——hashSet
  11. struts分页实现
  12. 201521123007《Java程序设计》第8周学习总结
  13. MySQL中order by排序时,数据存在null咋办
  14. flash上传文件,如何解决跨域问题
  15. Linux内存管理 (9)mmap
  16. vue2.0项目实战(5)vuex快速入门
  17. 怎么下载geventwebsocket
  18. oracle如何导出和导入数据库/表
  19. Linux CentOS虚拟机网卡配置
  20. [LeetCode] 100. Same Tree_Easy tag: DFS

热门文章

  1. USB3.0驱动与2.0有什么区别
  2. FIFO认识(一)
  3. 如何安全移除dataguard和如何安全移除备库并把备库变成一个单独的数据库
  4. May 11th 2017 Week 19th Thursday
  5. UESTC-1259 昊昊爱运动 II
  6. hdu-2197 本原串---枚举因子+容斥定理
  7. react开发环境准备
  8. 2018.11.14 hibernate中的查询优化---关联级别查询
  9. 2017.9.5 Java知识点总结
  10. Android学习笔记_79_ Android 使用 搜索框