容器编排技术 -- 创建Kubernetes集群
容器编排技术 -- 创建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集群相关推荐
- 容器编排技术 -- 使用Minikube集群
容器编排技术 -- 使用Minikube集群 0.1 目标 0.2 Kubernetes集群 1 集群结构图 目标 了解Kubernetes集群是什么. 了解Minikube是什么. 使用在线终端启 ...
- 快速入门容器服务,创建Kubernetes集群
使用须知 创建集群过程中,容器服务会进行如下操作: 创建 ECS,配置管理节点到其他节点的 SSH 的公钥登录,通过 CloudInit 安装配置 Kubernetes 集群. 创建安全组,该安全组允 ...
- 容器编排技术 -- 了解Kubernetes对象
容器编排技术 -- 了解Kubernetes对象 1 了解Kubernetes对象 1.1 对象(Object)规范和状态 1.2 描述Kubernetes对象 1.3 必填字段 2 下一步? 了解K ...
- 部署一个 Containerd 容器运行时的 Kubernetes 集群
前面我们介绍了 containerd 的基本使用,也了解了如何将现有 docker 容器运行时的 Kubernetes 集群切换成 containerd,接下来我们使用 kubeadm 从头搭建一个使 ...
- 如何在CentOS上创建Kubernetes集群
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由编程男孩 发表于云+社区专栏 介绍 Kubernetes(常简称为K8s)是用于自动部署.扩展和管理容器化(containerized ...
- 使用Gardener在Google Cloud Platform上创建Kubernetes集群
Gardener是一个开源项目,github地址: https://github.com/gardener/gardener/ 使用Gardener,我们可以在几分钟之内在GCP, AWS, Azur ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三
在上文ASP.NET Core应用程序容器化.持续集成与Kubernetes集群部署(二)中,我介绍了如何使用Azure DevOps为ASP.NET Core应用程序案例:tasklist搭建持续集 ...
- 云图说 | 快速创建一个kubernetes集群
随着应用程序开发向基于容器的方向发展,编排和管理资源的需求变得越来越重要.Kubernetes是一个开源的.功能强大的容器编排系统,用于管理容器化应用和服务,它提供了应用部署.规划.更新.维护的一种机 ...
- Kubernetes教程(一)---使用 kubeadm 创建 k8s 集群(containerd)
来自:指月 https://www.lixueduan.com 原文:https://www.lixueduan.com/posts/kubernetes/01-install/ 本文记录了使用 ku ...
最新文章
- java threadgourp_Java Thread getThreadGroup()方法
- 实现困境突破:中小企业家的三项修炼
- ts文件编译后变量在vscode里报错
- 平流式沉淀池计算例题_平流式沉淀池计算例题
- OpenStack入门篇(八)之镜像服务Glance
- Strut2和FreeMarker整合时的一些问题
- 为什么我们知道那么多道理(理论),却依然处理不好目前的生活
- 实时的毛发绘制 szlongman
- 欧几里得与扩展欧几里得总结
- linux 查看日志
- c语言srand函数怎么用_Excel统计指定内容出现次数,用函数怎么写?人人都能看懂的公式...
- 产品经理,设计师,前端工程师必备的绘图工具(原型图,思维导图,UML,流程图,架构图)
- Spring boot应用【tailf】服务启动停止管理脚本
- 人脸识别系统_设计说明书
- 浏览器主页被篡改怎么办?一分钟帮你解决
- ireport mysql_iReport连接Mysql创建图表报表
- 洛谷 P5322 [BJOI2019]排兵布阵
- mysql用户登录和第三方登录_mysql 用户表结构设计,第三方登录
- IOS电影播放器—MPMoviePlayerController
- Android——新大陆云平台配置(2)
热门文章
- Visio2007 与Microsoft Studio 2008不兼容
- Magento: 获取产品评论 get all reviews with review summary
- CSS3 Flex 弹性布局用法详解
- 程序员在周末学习的8个实用技术
- Moodle: 如何修改moodle——theme主题皮肤
- 用 PHP 读取和编写 XML DOM
- x86汇编语言——处理器架构
- 【AI视野·今日CV 计算机视觉论文速览 第232期】Thu, 8 Jul 2021
- Java—一篇读懂java集合(Collection/Map)及Lambda表达式
- 02241107班编程题 切片逆序大小写等