容器编排技术 -- 创建Kubernetes集群

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可以在2云服务提供商和裸机环境运行,并支持很多基本操作系统。

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

如果你对在新的平台支持Kubernetes感兴趣,可以看看我们的写新方案的建议。

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

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

私有虚拟机

  • Vagrant(采用CoreOS和flannel)
  • CloudStack(采用Ansible,CoreOS和flannel)
  • Vmware(采用Debian)
  • juju.md(采用Juju,Ubuntu和flannel)
  • Vmware(采用CoreOS和flannel)
  • libvirt-coreos.md(采用CoreO)
  • oVirt
  • libvirt(采用Fedora和flannel)
  • KVM(采用Fedora和flannel)

裸机

  • Offline(无需互联网,采用CoreOS和flannel)
  • fedora/fedora_ansible_config.md
  • Fedora单节点
  • Fedora多节点
  • Centos
  • Ubuntu
  • Docker多节点

集成

Kubernetes on Mesos(采用GCE)

Table of Solutions

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

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版本。

容器编排技术 -- 创建Kubernetes集群相关推荐

  1. 容器编排技术 -- 使用Minikube集群

    容器编排技术 --  使用Minikube集群 0.1 目标 0.2 Kubernetes集群 1 集群结构图 目标 了解Kubernetes集群是什么. 了解Minikube是什么. 使用在线终端启 ...

  2. 快速入门容器服务,创建Kubernetes集群

    使用须知 创建集群过程中,容器服务会进行如下操作: 创建 ECS,配置管理节点到其他节点的 SSH 的公钥登录,通过 CloudInit 安装配置 Kubernetes 集群. 创建安全组,该安全组允 ...

  3. 容器编排技术 -- 了解Kubernetes对象

    容器编排技术 -- 了解Kubernetes对象 1 了解Kubernetes对象 1.1 对象(Object)规范和状态 1.2 描述Kubernetes对象 1.3 必填字段 2 下一步? 了解K ...

  4. 部署一个 Containerd 容器运行时的 Kubernetes 集群

    前面我们介绍了 containerd 的基本使用,也了解了如何将现有 docker 容器运行时的 Kubernetes 集群切换成 containerd,接下来我们使用 kubeadm 从头搭建一个使 ...

  5. 如何在CentOS上创建Kubernetes集群

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由编程男孩 发表于云+社区专栏 介绍 Kubernetes(常简称为K8s)是用于自动部署.扩展和管理容器化(containerized ...

  6. 使用Gardener在Google Cloud Platform上创建Kubernetes集群

    Gardener是一个开源项目,github地址: https://github.com/gardener/gardener/ 使用Gardener,我们可以在几分钟之内在GCP, AWS, Azur ...

  7. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三

    在上文ASP.NET Core应用程序容器化.持续集成与Kubernetes集群部署(二)中,我介绍了如何使用Azure DevOps为ASP.NET Core应用程序案例:tasklist搭建持续集 ...

  8. 云图说 | 快速创建一个kubernetes集群

    随着应用程序开发向基于容器的方向发展,编排和管理资源的需求变得越来越重要.Kubernetes是一个开源的.功能强大的容器编排系统,用于管理容器化应用和服务,它提供了应用部署.规划.更新.维护的一种机 ...

  9. Kubernetes教程(一)---使用 kubeadm 创建 k8s 集群(containerd)

    来自:指月 https://www.lixueduan.com 原文:https://www.lixueduan.com/posts/kubernetes/01-install/ 本文记录了使用 ku ...

最新文章

  1. java threadgourp_Java Thread getThreadGroup()方法
  2. 实现困境突破:中小企业家的三项修炼
  3. ts文件编译后变量在vscode里报错
  4. 平流式沉淀池计算例题_平流式沉淀池计算例题
  5. OpenStack入门篇(八)之镜像服务Glance
  6. Strut2和FreeMarker整合时的一些问题
  7. 为什么我们知道那么多道理(理论),却依然处理不好目前的生活
  8. 实时的毛发绘制 szlongman
  9. 欧几里得与扩展欧几里得总结
  10. linux 查看日志
  11. c语言srand函数怎么用_Excel统计指定内容出现次数,用函数怎么写?人人都能看懂的公式...
  12. 产品经理,设计师,前端工程师必备的绘图工具(原型图,思维导图,UML,流程图,架构图)
  13. Spring boot应用【tailf】服务启动停止管理脚本
  14. 人脸识别系统_设计说明书
  15. 浏览器主页被篡改怎么办?一分钟帮你解决
  16. ireport mysql_iReport连接Mysql创建图表报表
  17. 洛谷 P5322 [BJOI2019]排兵布阵
  18. mysql用户登录和第三方登录_mysql 用户表结构设计,第三方登录
  19. IOS电影播放器—MPMoviePlayerController
  20. Android——新大陆云平台配置(2)

热门文章

  1. Visio2007 与Microsoft Studio 2008不兼容
  2. Magento: 获取产品评论 get all reviews with review summary
  3. CSS3 Flex 弹性布局用法详解
  4. 程序员在周末学习的8个实用技术
  5. Moodle: 如何修改moodle——theme主题皮肤
  6. 用 PHP 读取和编写 XML DOM
  7. x86汇编语言——处理器架构
  8. 【AI视野·今日CV 计算机视觉论文速览 第232期】Thu, 8 Jul 2021
  9. Java—一篇读懂java集合(Collection/Map)及Lambda表达式
  10. 02241107班编程题 切片逆序大小写等